Questo è irrilevante. La variabile locale in VB in cui memorizzi un valore non è visibile nel contesto della query SQL, che è una stringa che viene passata al driver in grado di accedere al database. Se scrivi "mat" nella query SQL, il motore che esegue la query non risale alla variabile "mat" di VB, né può vedere alcuna variabile, oggetto o finestra.Originariamente inviato da luigi1993
Se noti prima io associavo ad una variabile la Text1...
codice:Dim mat As String mat = Form1.Text1.Text
Tu devi passare al motore esattamente la query che vuoi eseguire.
Tu stai dicendo ad Access di restituirti i valori del campo Matricola per tutti i record che hanno nel campo mat (che non esiste sul DB, quindi è errato e dovrebbe essere sostituito con Matricola, appunto) il valore presente all'interno della TextBox, che viene concatenato nella stringa formando direttamente la query precisa da eseguire con il valore richiesto.Originariamente inviato da luigi1993
In questo modo non funziona, ma se scrivo così:
Il messaggio che visualizzo se inserisco nella Text1 "1234567" è sempre: "Matricola non presente", cosa sbagliata visto che nel database è presente.codice:RS.Open "SELECT Matricola FROM Table1 WHERE mat='" & Form1.Text1.Text & "'", Connessione, 1
Appunto. La clausola WHERE richiede di specificare la condizione di filtro dei record, quindi tu devi scrivere WHERE Matricola = 'valore', senza usare mat, che non fa parte del database ed è presente solo in VB, fermo restando che - anche se fosse visibile alla query SQL - quanto scrivi dal punto di vista logico è comunque errato, perché staresti dicendo al motore che vuoi tutti i record in cui "mat" (che contiene la matricola da filtrare) è uguale al valore che hai specificato in modo direttamente letterale, che non ha comunque senso.Originariamente inviato da luigi1993
Ps.
Nel database Access i campi sono:
1)ID
2)Matricola
3)Password
Ripeto: prendi a mano un libro e studia le basi del linguaggio Visual Basic, l'utilizzo dei tipi di dato fondamentali, e approfondisci anche la sintassi SQL.

Rispondi quotando
