|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 174
|
Urgentissimo VB e ACESS
Devo consegnare un progetto entro martedi della prox settimana ma ho un problema.
Devo fare delle query in vba a cui passo come variabile una stringa o una data. Es: Form_QueryClienti.ElencoClienti.RowSource = "SELECT Clienti.Codice, Clienti.Nome, Clienti.Cognome, Clienti.Data, Clienti.Comune1, Clienti.Via, Clienti.NumeroCivico, Clienti.Comune2, Clienti.Provincia, Clienti.Nazione, Clienti.TipoDocumento, Clienti.NumeroDocumento FROM Clienti WHERE Clienti.TipoCliente=0 AND Clienti.Nome=" & Me.Nome.Value xò non funziona. La stessa cosa vale se il parametro è una data. Funziona invece se il dato è di tipo numerico. Allora la domanda è semblice come cavolo faccio a farlo funzionare ??? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Re: Urgentissimo VB e ACESS
Prova così :
Form_QueryClienti.ElencoClienti.RowSource = "SELECT Clienti.Codice, Clienti.Nome, Clienti.Cognome, Clienti.Data, Clienti.Comune1, Clienti.Via, Clienti.NumeroCivico, Clienti.Comune2, Clienti.Provincia, Clienti.Nazione, Clienti.TipoDocumento, Clienti.NumeroDocumento FROM Clienti WHERE Clienti.TipoCliente=0 AND Clienti.Nome='" & Me.Nome.Value & "'" Le stringhe vanno messe fra gli apici singoli... Per le date utilizza DateValue e guarda il post sopra il tuo che parla di Access e date... |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 174
|
ho appena provato ma nessuna delle due funziona
![]() Hai altri duggerimenti????? |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Come ho scritto nell'altro post...stampa a video la query (mettila ad esempio in un TextBox) copiala ed incollala in una nuova query di Access usando la "Visualizzazione SQL" (menù Visualizza)...
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 174
|
Allora x le stringhe ho risolto mettendo gli apici singoli.
Per le date invece non c'è stato niete da fare. Ho provato ad usare la funzione che .ToShortDateString ma non me la riconosce. ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jul 2002
Messaggi: 212
|
SQL
Per cercare le stringhe devi usare la clausola LIKE.
Ad esempio: ... where utenti.nome like 'daniele'. Per le date è più complicato! Il linguaggio SQL di Access le vuole in formato mm/gg/aaaa poi per cercare una data devi fare così: ... where utenti.datanascita = '#1/31/1970#'. Quindi i passi sono i seguenti: 1) Creare una stringa con la data in formato mm/gg/aaaa 2) Nella stringa SQL usare il carattere # all'inizio e alla fine della data. Spero di essermi spiegato. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 174
|
per le date basta il # ma si il valore lo imposti tu per sx #01/08/2002# mentre se si fa una cosa del genere
...... WHERE Clienti.DataN= #" & datan.value & "#" non funziona per niente. |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Dec 2001
Messaggi: 174
|
Ultima richiesta
![]() Esiste una funzione che trasformi una data in formato GG/MM/AAAA nella formato MM/GG/AAAA. tnx. |
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Jul 2002
Messaggi: 212
|
Devi costruire tu la stringa.
Chiamiamo "data" la tua data in formato GG/MM/AAAA; per costruire una stringa con la data in formato MM/GG/AAAA devi fare così: giorno = Mid(data, 1, 2) mese = Mid(data, 4, 2) anno = Mid(data, 7, 4) data = "#" + mese + "/" + giorno + "/" + anno + "#" Spero di essere stato chiaro. Alla prossima |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Jul 2002
Messaggi: 212
|
Mi sono dimenticato di dirti che se non ti servono i 2 #, puoi eliminarli!
|
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
E' piu comodo usare la funzione Format:
Es: Format(Date, "mm/dd/yy") P.S: Funziona anche con le stringhe! Es :Format("10/09/2002", "mm/dd/yy") Ciao! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:32.