PDA

View Full Version : [VB6] Uso dell'oggetto data


robnet77
24-06-2004, 14:40
Ho un piccolo problema. Mi è stato chiesto di fare un programma semplice per l'erogazione di test automatizzati.
Praticamente, ho una form nella quale c'è una textbox che pesca, ad una ad una, le domande da un database Access97, poi ci sono 4 checkbox con le opzioni di risposta.

Il database è così composto:

NomeCampo | TipoDati

Domanda Testo
Opzione1 Testo
Opzione2 Testo
Opzione3 Testo
Opzione4 Testo
Risposta1 Sì/No
Risposta2 Sì/No
Risposta3 Sì/No
Risposta4 Sì/No


Purtroppo, mi è stato chiesto di utilizzare l'oggetto data per interfacciarmi al database, con i DAO e non tramite ADO.

Con l'uso di un command button per passare di volta in volta alla domanda successiva già avrei risolto.


Dim ldb As Database
Dim rs As Recordset
______________________________________

Set ldb = OpenDatabase("C:\Domande.mdb")

Set rs = ldb.OpenRecordset("SELECT * FROM quiz")

lblDomanda.Caption = rs.Fields("Domanda")
Check1.Caption = rs.Fields("Opzione1")
Check2.Caption = rs.Fields("Opzione2")
Check3.Caption = rs.Fields("Opzione3")
Check4.Caption = rs.Fields("Opzione4")

______________________________________
Private Sub Command4_Click()

rs.MoveNext

End Sub
______________________________________

Al momento ho settato le proprietà di Data1 così:

-Connect: Access
-DatabaseName: C:\Domande.mdb
-RecordSource: Quiz (ho provato anche con "SELECT * FROM quiz" che sapevo essere più affidabile

Purtoppo, non riesco ad utilizzare il controllo data, ovvero vorrei che quando l'utente preme le frecce di direzionamento, il recordset si sposti di volta in volta al record voluto.


Qualche consiglio? :muro:

Grazie...

robnet77
24-06-2004, 16:33
dopo lunghe ricerche, intanto ho risolto... :O

ho scoperto che i controlli intrinseci di VB possono essere interfacciati al controllo data, praticamente una volta creato questo controllo ho delle nuove proprietà nelle label e nelle checkbox, ovvero DataSource e DataField che riconoscono la tabella e i suoi campi.

Ora non so qual è il sistema migliore per verificare l'esattezza delle risposte date dagli utenti... :O

Se avete consigli, fate come Totti... :) (sputate...)

robnet77
28-06-2004, 09:57
dunque, ho un problema.

Mi viene fuori l'errore "type mismatch", cioè errore di battitura, la cosa strana è che accade quando mi muovo con i pulsanti dell'oggetto data attraverso il recordset.

Praticamente, ho una label (Domanda) e 4 checkbox (risposte).
Se associo solo la label all'oggetto data, non ho problemi (ma a questo punto, scorrendo il database cambiano solo le domande e le opzioni di risposta sono sempre le stesse), mentre dopo che ho associato le checkbox ai relativi campi del db è comparso il suddetto errore.
Ho anche provato a sostituire le checkbox con delle label, pensando che fosse quel tipo di controllo a non sopportare il data-binding, invece l'errore persiste.

Qualche aiuto? :muro:

robnet77
29-06-2004, 16:45
up :(

robnet77
30-06-2004, 16:49
up :muro: