Newsgroup: it.comp.lang.visual-basic
Titolo: Ricerca db

Avrei un problemino. Non mi riconosce l'istruzione sql, ma nn capisco
davvero dove sta l'errore
qui il codice:
////////////////////////////////////////////////////////////////
Private Sub Command1_Click()
Dim query As String
query = "SELECT * FROM rubrica WHERE "
If Check1(0).Value = 1 Then
query = query & "cognome='" & Text1(0).Text & "' "
End If
If Check1(1).Value = 1 Then
query = query & "nome='" & Text1(1).Text & "' "
End If
If Check1(2).Value = 1 Then
query = query & "indirizzo='" & Text1(2).Text & "' "
End If
If Check1(3).Value = 1 Then
query = query & "ntel='" & Text1(3).Text & "' "
End If
If Check1(4).Value = 1 Then
query = query & "nuff='" & Text1(4).Text & "' "
End If
If Check1(5).Value = 1 Then
query = query & "ncell='" & Text1(5).Text & "' "
End If
If Check1(6).Value = 1 Then
query = query & "email='" & Text1(6).Text & "' "
End If
If Check1(7).Value = 1 Then
query = query & "cap='" & Text1(7).Text & "' "
End If
query = query & " ORDER BY cognome"
Data1.RecordSource = query
If Data1.Recordset.NoMatch = True Then
MsgBox "NESSUN RISULTATO", vbOKOnly, "ATTENZIONE!!"
Else: Form5.Data1.RecordSource = query
Unload Me
Form5.Show
Form5.Enabled = True
Form5.Data1.Recordset.MoveFirst
Form5.Text1(0).Text = Form5.Data1.Recordset("nome")
End If
End Sub
////////////////////////////////////////////////////////
Nel caso facesse proprio schifo mi sapete dire dove trovare un buon
tutorial dove spieghi bene come fare ricerche via VB nei Db??
Grazie 1000

 ha scritto nel messaggio
news:1121811566.5...@g44g2000cwa.googlegroups.com...


 ha scritto nel messaggio 
news:1121811566.5...@g44g2000cwa.googlegroups.com...

Usa il carattere " e non ' per racchiudere una stringa.
Per inserire il carattere " in una stringa occorre ripeterlo 2 volte.
Es: query = query & "cognome=""" & Text1(0).Text & """ "
Ciao.
-- 
Dinasoft
http://www.dinasoft.it

 Es: query = query & "cognome=""" & Text1(0).Text & """ "
EEEEEEEEEEEEEEEEEEEEHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
?????????????????????????????????????????????????????
O__O
SELECT nome , cognome FROM Anagrafica WHERE nome='Pippo'
Poi se access non storce il naso alle virgolette ...son fatti suoi!!!!!
Come ha detto Umberto sembra che usi dei checkbox ...quindi se ne selezioni
2 :
SELECT * From Rubrica WHERE Cognome ='De paperis' Nome='Pico'
manca l'operatore logico che lega nel caso di più condizioni (OR o AND...ad
esempio)
Ti consiglio i farti un Flag PRIMACOND come booleano settato di default a
true
appena scannerizzi le opzioni inserisci una cosa del tipo
IF PRIMACOND THEN
    query=query & " Cognome='" & Cognome.text & "'"
    PRIMACOND=false
ELSE
    query=query & " AND "'o quello che vuoi tu OR ad esempio ...ma credo tu
voglia un AND!
    query=query & " Cognome='" & Cognome.text & "'"
END IF
Alla fine otterrai una cosa del tipo
SELECT * From Rubrica WHERE Cognome ='De paperis' AND Nome='Pico'
Piccolo inciso
Devi controllare se c'è qualcosa nei campi scelti
ad esempio se scegli indirizzo e non c'è nulla
SELECT * From Rubrica WHERE Cognome ='De paperis' AND Nome='Pico' AND
indirizzo=''
non ti riporta nulla!!!
un bel msgbox di debug per vedere quello che esegui ti avrebbe aiutato
molto!
....probabilmente se lo facevi
non avevi bisogno di chiedere a noi!!!!
-- 
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 New Entry nel bestiario!
Aderisci al M.A.I.  
http://www.villaceleste.it/html/icadioti/

 Es: query = query & "cognome=""" & Text1(0).Text & """ "
Lo standard SQL prevede il singolo apice come delimitatore
di stringa. Altri caratteri sono particolarita' dello
specifico database.
-- 
ciao, hal

 molto!
Il debug di VB è ottimo, impariamo a usarlo!
breakpoint, espressioni di controllo, variabili locali, e l'insostituibile 
CTRL+G!
Ciao 

 CondSql = Join(Cond, " AND ")
sssssssssss
ti svelo un segreto.....
mai usato join!...pensa la fatica per le dita che ho sempre fatto!
A nome dei miei polpastrelli...grazie!

 A nome dei miei polpastrelli...grazie!
In effetti sono quelle funzioni di cui non ti ricordi mai e che a volte in 
un barlume di luciditŕ ti tornano in mente :)
Ciao 

Hai ragione.  Non c'avevo pensato al msgbox. Conta xo' che scrivo in
visual basic da una settimana piu' o meno, quindi sono MOOOOOLTO
indietro... :P

In acess non posso fare query.
Sarà xke il database e' in access 97?
Mi consigliate di convertirlo x le applicazioni in VB???

 Mi consigliate di convertirlo x le applicazioni in VB???
Se preferisci, non è indispensabile.
Ciao