Query access e ado vb6

mercoledì 15 aprile 2009 - 12.17

sal21 Profilo | Junior Member

Ho creato una query in un db di access.
Ora vorrei richiamarla via ado e fare ul loop sui record selezionati con i comndi della query...
solo che durante il loop nella variabile TEST ho dei recordset che non appartengono alla tabella
dichiarata nella query!!!!!!!!!
Note:se lancio la query dal db tutto funziona benissimo!

modulo1
Option Explicit
Public RST As New ADODB.Recordset
Public CNSQL As New ADODB.Connection
Public CMD As New ADODB.Command

modulo2
Option Explicit
Sub QUERY_ACCESS()

On Error GoTo errore
Dim TEST As String
If Not CNSQL.State = adStateClosed Then
CNSQL.Close
End If

CNSQL.CursorLocation = adUseClient
CNSQL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\APPLICAZIONI\DB_PAST_DUE.mdb;"

CMD.ActiveConnection = CNSQL
CMD.CommandText = "STAFF Query"
CMD.CommandType = adCmdUnknown

Set RST = CMD.Execute

Do Until RST.EOF
TEST = Trim(RST("DESCR_COD_4"))
TEST = Trim(RST("SETTORE"))
RST.MoveNext
Loop

Exit Sub

errore:
MsgBox "Errore Numero: " & CStr(Err.Number) & vbCrLf & _
"Descrizione: " & Err.Description & vbCrLf & _
"Sorgente dell'Errore: " & Err.Source

Err.Clear

End Sub

query:
SELECT STAFF.DESCR_COD_4, STAFF.SETTORE
FROM STAFF
WHERE (((STAFF.DESCR_COD_4) Like '*FILIALE*') AND ((Len([settore]))<>0))
ORDER BY STAFF.SETTORE;

sal

assiolle Profilo | Junior Member

>Ho creato una query in un db di access.
>Ora vorrei richiamarla via ado e fare ul loop sui record selezionati
>con i comndi della query...
>solo che durante il loop nella variabile TEST ho dei recordset
>che non appartengono alla tabella
>dichiarata nella query!!!!!!!!!

Volevi dire dei campi ??

>Note:se lancio la query dal db tutto funziona benissimo!
>
>modulo1
>Option Explicit
>Public RST As New ADODB.Recordset
>Public CNSQL As New ADODB.Connection
>Public CMD As New ADODB.Command
>
>modulo2
>Option Explicit
>Sub QUERY_ACCESS()
>
> On Error GoTo errore
>Dim TEST As String
> If Not CNSQL.State = adStateClosed Then
> CNSQL.Close
> End If
>
> CNSQL.CursorLocation = adUseClient
> CNSQL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
>"Data Source=C:\APPLICAZIONI\DB_PAST_DUE.mdb;"
>
> CMD.ActiveConnection = CNSQL
> CMD.CommandText = "STAFF Query"
> CMD.CommandType = adCmdUnknown
>
> Set RST = CMD.Execute
>
> Do Until RST.EOF
> TEST = Trim(RST("DESCR_COD_4"))
> TEST = Trim(RST("SETTORE"))
> RST.MoveNext
> Loop
>
> Exit Sub
>
>errore:
> MsgBox "Errore Numero: " & CStr(Err.Number) & vbCrLf & _
> "Descrizione: " & Err.Description & vbCrLf & _
> "Sorgente dell'Errore: " & Err.Source
>
> Err.Clear
>
>End Sub
>
>query:
>SELECT STAFF.DESCR_COD_4, STAFF.SETTORE
>FROM STAFF
>WHERE (((STAFF.DESCR_COD_4) Like '*FILIALE*') AND ((Len([settore]))<>0))
>ORDER BY STAFF.SETTORE;
>
>sal

Prova a scrivere la query senza il prefisso "STAFF." dei campi.
Alessio
http://blogs.dotnethell.it/alessiop
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5