Leggi il Topic


Indice del forumMotobarForum Internet & Hi-Tech

   

Pagina 1 di 1
 
SQL e Visual Basic in Access
9692967
9692967 Inviato: 16 Apr 2010 22:29
Oggetto: SQL e Visual Basic in Access
 

Ragazzi..domani ho il compito di informatica e in un esercizio devo assegnare ad una etichetta, il risultato di una query come mostrato qui:


Dim db As DAO.Database
Dim r As DAO.Recordset
Dim s As String
Dim x As Integer

Set db = CurrentDb()
x = CodiceCliente.Text
s = "select nome from t_Clienti where codice=" & x
Set r = db.OpenRecordset(s, dbOpenSnapshot)

Etichetta30.Caption = s


I riferimenti ci sono, che sbaglio?
Grazie icon_sad.gif
 
9693054
9693054 Inviato: 16 Apr 2010 22:53
Oggetto: Re: SQL e Visual Basic in Access
 

Alessandro ha scritto:
Ragazzi..domani ho il compito di informatica e in un esercizio devo assegnare ad una etichetta, il risultato di una query come mostrato qui:


Dim db As DAO.Database
Dim r As DAO.Recordset
Dim s As String
Dim x As Integer

Set db = CurrentDb()
x = CodiceCliente.Text
s = "select nome from t_Clienti where codice=" & x
Set r = db.OpenRecordset(s, dbOpenSnapshot)

Etichetta30.Caption = s


I riferimenti ci sono, che sbaglio?
Grazie icon_sad.gif


definisci x come intero e poi gli butti dentro il txt di un box (che e' una stringa)

sul db il campo codice e' integer o string?

se e' integer ti conviene fare :
x=int(trim(CodiceCliente.Text))

se e' string
s = "select nome from t_Clienti where codice=" & str(x)


Tieni conto che e' un po' che non uso DAO.... non mi assumo responsabilita'

Peraltro credo che faresti ancora meglio a mettere:
s = "select nome from t_Clienti where codice='" & str(x) &"'"
 
9693274
9693274 Inviato: 16 Apr 2010 23:52
 

Grazie per l'aiuto, ma il campo è integer, ecco perchè l'ho trattato così. Ho usato anche il trim ma il risultato è lo stesso.
Ecco cosa mi viene:

Link a pagina di Img6.imageshack.us

Non mi esegue proprio l'SQL icon_sad.gif
 
9704002
9704002 Inviato: 19 Apr 2010 11:06
 

Ciao Alessandro, googlando per caso ho letto questo post.
Anche se il compito è finito...
Se la memoria mi assiste, l'istruzione forse la eseguirebbe pure, ma tu non la stai associando alla label.
Dall'immagine che vedo infatti ti esce esattamente la stringa SQL non il risultato del record set.

Etichetta30.Caption = s

"s" è appunto la stringa non il risultato dell'interrogazione al DB che invece è contenuto in "r"
e il valore lo estrai con il punto così...

Etichetta30.Caption = r.nome

Poi secondo me la stringa così impostata non è corretta. Lo è più quella di 42, perchè devi chiudere tutto in una stringa (es. s="xyz &...&" non s="xyz" & ... ) e se è un numero non devi utilizzare gli apici ' ' che servono per le stringhe
quindi
s = "select nome from t_Clienti where codice=" & x &""
Ciao
 
9706628
9706628 Inviato: 19 Apr 2010 17:28
 

Paolo969 ha scritto:
Ciao Alessandro, googlando per caso ho letto questo post.
Anche se il compito è finito...
Se la memoria mi assiste, l'istruzione forse la eseguirebbe pure, ma tu non la stai associando alla label.
Dall'immagine che vedo infatti ti esce esattamente la stringa SQL non il risultato del record set.

Etichetta30.Caption = s

"s" è appunto la stringa non il risultato dell'interrogazione al DB che invece è contenuto in "r"
e il valore lo estrai con il punto così...

Etichetta30.Caption = r.nome

Poi secondo me la stringa così impostata non è corretta. Lo è più quella di 42, perchè devi chiudere tutto in una stringa (es. s="xyz &...&" non s="xyz" & ... ) e se è un numero non devi utilizzare gli apici ' ' che servono per le stringhe
quindi
s = "select nome from t_Clienti where codice=" & x &""
Ciao


Bravo Paolo, mi ero dimenticato di aggiornare il post con la soluzione, che è quella che hai suggerito icon_mrgreen.gif
 
Mostra prima i messaggi di:





Pagina 1 di 1

Non puoi inserire nuovi Topic
Non puoi rispondere ai Topic
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi
 
Indice del forumMotobarForum Internet & Hi-Tech

Forums ©