PDA

Visualizza la versione completa : [vb] Che manca nelle dichiarazioni?


lyllo
28-06-2002, 12:32
con la creazione guidata applicazioni ho collegato un db ai miei form, solo che non riesco a far girarae il prog causa errore:
TIPO UTENTE NON DEFINITO e mi viene evidenziata prima la prima riga PRIVATE e poi l'altra riga private...



Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'Visualizza la posizione del record corrente per questo gruppo di record
datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub

Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'Posizione in cui inserire il codice per la convalida
'L'evento viene richiamato in seguito alle seguenti azioni
Dim bCancel As Boolean

Select Case adReason
Case adRsnAddNew
Case adRsnClose
Case adRsnDelete
Case adRsnFirstChange
Case adRsnMove
Case adRsnRequery
Case adRsnResynch
Case adRsnUndoAddNew
Case adRsnUndoDelete
Case adRsnUndoUpdate
Case adRsnUpdate
End Select

If bCancel Then adStatus = adStatusCancel
End Sub



com'è?

vonkranz
28-06-2002, 13:02
Probabilmente ti mancano i riferimenti ad ADO nella sezione "Riferimenti" del menu' "Progetto" (oppure hai un riferimento ad una versione di ADO vecchia: in questo caso attiva il riferimento alla versione + recente che hai installato).

PS
ADO=Microsoft AciteveX Data Objects ;)

lyllo
28-06-2002, 13:18
Microsoft Activex Data Objects 2.0 Library selezionata..

altro?

vonkranz
28-06-2002, 13:19
Prova a vedere se hai almeno la versione 2.5.

lyllo
28-06-2002, 13:57
ho dalla 2.0 alla 2.7...
ma le attivo tutte (nel dubbio)

vonkranz
28-06-2002, 14:43
Attiva solo la 2.7 (anche la 2.5 e' OK).
Non puoi attivare i riferimenti ad ADO tutti insieme (anche perche' il compilatore non te lo fa fare...:D ).

lyllo
28-06-2002, 19:49
pensa che funge solo con le 2.0

senti tu non è che per caso sai dirmi come si fa per configurare i TABSTRIP eh?

ho aperto un topic ma nessuno si fa vivo...

se uso SSTab, la basta che clicco sul tab che mi interessa, e la pagina automaticamente si apre ed io posso metterci sopra tutto quello che mi pare,

con i TabStrip, invece, non si può fare così... ma li voglio usare perchè hanno la possibilità di far apparire i tab come pulsanti schiacciati, ed è prorpio quello di cui ho bisogno... (se solo sapessi come si fa...)

vonkranz
29-06-2002, 17:12
Le poche volte che mi e' servito un controllo di questo tipo, ho sempre usato SSTab e mai TabStrip: il primo, infatti, e' considerato molto + versatile del secondo.

Quindi un consiglio: usa SSTab se l'unica cosa che ti ha spinto a provare ad usare TabStrip e' stata la sola visualizzazione dei tasti.

Al limite puoi provare a leggere l'help in linea relativo al TabStrip.
Ciao.

lyllo
30-06-2002, 13:02
c'è un problema col mio db:

ho diviso il db in 5 tabelle...

ma ora se devo inserire dei dati diventa un bel problema:

in una tabella ho: GENERALITA (nome, cognome etc)
in un'altra ho: CARATTERISTICHE (altezza, peso, occhi)

beh, mo come faccio a far si che se inserisco in una pagina NOME E COGNOME, (e la tabella generalità viene aggiornata), la tabella successiva, sia sincronizzata?

cioè per agire su tabelle dovrei inserire un ADO per ogni pagina, ma così finirei per sfasare gli aggiornamenti...

insomma con più tabelle come faccio a far si che tutto sia in sincrono e quindi i dati che inserisco in una pagina e che appartengono ad una tabella siano in sincronia con i dati dell'altra tabella?

Genius7115
30-06-2002, 18:13
E' un pò difficile ma provaci lo stesso.
Non sto di certo a scriverti il codice se no addio (lo faccio per te).
Se conosci il dialetto SQL devi fare cosi:
Crea una query di join tra le due tabelle e passala al provider.
Il recordset non è altro che una vista sulle due tabelle come se fossero una sola. Attento ora. se le due tabelle non sono relazionate direttamente sul database lo devi fare tu con i singoli record. Come? semplice tirati nella query oltre ai campi che ti occorrono, anche gli ID della prima e della seconda, naturalmente le due tabelle devono essere "agganciate" tramite un altro ID di collegamento. Es. IDPersona, Nome, Cognome per la tabella Persona e IDFisico, IDPersona, Peso, Altezza per le caratteristiche, dove i due campi IDPersona indicano la relazione tra records. Quando Inserisci un nuovo record devi ricordarti di inserire il valore di PERSONA.IDPERSONA in CARATTERISTICHE.IDPERSONA. E' un pò controversa ma efficace come soluzione tel'assicuro. Per semplificarti la vita utilizza sempre delle classi create ad Hoc (es. classe PERSONA)

Loading