PDA

Visualizza la versione completa : [VB] cercare in tutte le tabelle


Francesco_76
25-11-2002, 11:17
Ciao a tutti

allora io ho un database con 5 "tabelle" in ognuna di queste ho un campo chiamato "codice" vorrei cercare il valore di "codice" in 3 di queste tabelle come posso fare??
devo elencarle tutte e tre tipo cosi:

Select * from tabella1, tabella2, tabella3 where codice = ecc..


grazie mille

:ciauz:

Francesco_76
25-11-2002, 11:40
Perche mi da errore???




sqlstring = "select * from cat1 where codice = LIKE '" & codice & "' AND tipo LIKE '" & List1 & "' "


:bh:

ddies
25-11-2002, 12:03
ti da errore l'sql o il debugger?

Francesco_76
25-11-2002, 12:09
Guarda questo il codice



Dim sqlstring As String
Dim db1 As Database
Dim rs1 As Recordset
sqlstring = "select * from cat1 where codice = " & codice & " AND tipo = " & List1 & " "
Set db1 = OpenDatabase(App.Path & "\database.mdb", False, False)
Set rs1 = db1.OpenRecordset(sqlstring)
Set Data2.Recordset = rs1
If Not Data2.Recordset.EOF Then
Do While Not Data2.Recordset.EOF
cod = (Data2.Recordset.Fields("codice"))

Data2.Recordset.MoveNext
Loop
Else
MsgBox "Nessun record"


se sulla finestra immediata scrivo



?sqlstring

mi da cosi:


select * from cat1 where codice = y8fub AND tipo = disco


e mi sembra sia corretto, ma restituisce errore 3061 "parametri insufficienti"

e evidenzia in giallo questo riga



Set rs1 = db1.OpenRecordset(sqlstring)



:bh:

sai darmi una mano??


grazie mille

:ciauz:

ddies
25-11-2002, 12:15
Beh ovvio che ti da errore, devi mettere gli apici


sqlstring = "select * from cat1 where codice = '" & codice & "' AND tipo = '" & List1 & "' "


Senn lui y8fub e disco le ritiene dei parametri, tipo nomi di colonne o variabili

Francesco_76
25-11-2002, 12:18
No poi li ho tolti, se leggi sopra non ci sono infatti la finestra immediata da il risultato giusto

:(

ddies
25-11-2002, 12:27
No nella prima riga che hai scritto c'erano le like, poi hai tolto sia le like che gli apici.

o metti "... like '%" & codice & "%' AND tipo LIKE '%" & List1 & "%'"

o metti "codice='" & codice & "' AND tipo='" & List1 & "'"

Se la prima riga ti da errore o EOF sostituisci gli % con dei *

Prova e dimmi

Francesco_76
25-11-2002, 12:34
hai ragione cosi funziona :metallica



sqlstring = "select * from cat1 where codice='" & CODICE & "' AND tipo='" & List1 & "'"


:metallica :metallica

sapresti rispondermi alla prima domanda??

:mavieni:

grazie

ddies
25-11-2002, 13:08
A occhio dire che o fai tre select separate oppure

select * from tab1 a, tab2 b, tab3 c where
a.codice='QUello che vuoi' or
b.codice='Quello che vuoi' or
c.codice='Quello che vuoi'

Comunque prova anche il metodo da te elencato ma ho paura che ti dia errore dicendoti che codice ambiguo perch fa parte di pi tabelle

Francesco_76
25-11-2002, 13:39
Originariamente inviato da Francesco_76
Ciao a tutti

allora io ho un database con 5 "tabelle" in ognuna di queste ho un campo chiamato "codice" vorrei cercare il valore di "codice" in 3 di queste tabelle come posso fare??
devo elencarle tutte e tre tipo cosi:

Select * from tabella1, tabella2, tabella3 where codice = ecc..


grazie mille

:ciauz:

Non riesco :(

ho provato anche con INNER JOIN ma mi dice che Join non suportato

qualcuno sa aiutarmi

grazie

:cry:

Loading