+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

Recupero dati da query

  1. #1
    L'avatar di dade_n
    dade_n non è in linea Scolaretto
    Salve ragazzie, provo a spiegare che cosa stò cercando di fare e non riesco a capacitarmi perchè mi continui a dare sempre lo stesso errore..
    allora:
    Ho una forna con due CMB, nella prima carico dei valori, nella seconda vorrei caricarne altri in base alla scelta della prima, mi spiego meglio
    1) cmb contiene gli stati di transazione
    • Aperto
    • In attesa
    • Chiuso
    2) CMB elenco delle persone che vorrei strarre giustappunto in base al tipo di stato, se sono in stato aperto tutti quelli che hanno il campo stato aperto e cosi via per gli altri.

    Vi riporto il codice che stò utilizzando:
        Dim cn As ADODB.Connection ' dichiaro oggetto connection
        Dim rs As ADODB.Recordset  ' dichiaro oggetto recorset
        Dim S() As String          ' stringa di array che servirà in alcune fasi del programma
    
    Private Sub Form_Load()
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
    
    ' APRO LA CONNESSIONE E LANCIO LA QUERY PER RECUPERARE I DATI
        cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=Archivio.mdb;Uid=Admin;Pwd=pippo;"
        rs.Open "SELECT STATO_TRANSAZIONE FROM MOD_STATO ORDER BY STATO_TRANSAZIONE ASC", cn, 1
    
    ' ESTRAGGO I DATI CHE MI INTERESSANO DALLA TABELLA E LI INSERISCO NELLA COMBO BOX
        While rs.EOF = False
            cmbstato.AddItem (rs("STATO_TRANSAZIONE").Value)
            rs.MoveNext
        Wend
        rs.Close
        cn.Close
    
    End Sub
    
    Private Sub cmbstato_Change()
    If Form1.valorequery2.Text = "Modifica Acquisto" Then
    Call caricaacquisto
    Else
    Call caricavendita
    End If
    End Sub
    
    Private Sub caricaacquisto()
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
    
    ' APRO LA CONNESSIONE E LANCIO LA QUERY PER RECUPERARE I DATI
        cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=Archivio.mdb;Uid=Admin;Pwd=pippo;"
        rs.Open "SELECT * FROM AQUIRENTI WHERE STATO_TRANSAZIONE = '" + cmbstato.Text + "'", cn, 1
    
    ' ESTRAGGO I DATI CHE MI INTERESSANO DALLA TABELLA E LI INSERISCO NELLA COMBO BOX
        While rs.EOF = False
            cmbUtenza.Text = rs("UTENZA").Value & ""
            rs.MoveNext
        Wend
        rs.Close
        cn.Close
    
    End Sub
    
    Private Sub caricavendita()
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
    
    ' APRO LA CONNESSIONE E LANCIO LA QUERY PER RECUPERARE I DATI
        cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=Archivio.mdb;Uid=Admin;Pwd=pippo;"
        rs.Open "SELECT * FROM VENDITORI WHERE STATO_TRANSAZIONE = '" + cmbstato.Text + "'", cn, 1
    
    ' ESTRAGGO I DATI CHE MI INTERESSANO DALLA TABELLA E LI INSERISCO NELLA COMBO BOX
        While rs.EOF = False
            cmbUtenza.Text = rs("UTENZA").Value & ""
            rs.MoveNext
        Wend
        rs.Close
        cn.Close
    
    End Sub
    
    Mi fila tutto liscio fino a quando seleziono il valore caricato nella cmbstato, a quel punto che dovrebbe popolarmi la cmbUtenza, mi spara questo errore:

    Il driver ODBC non supporta le proprietà richieste.

    Ho provato a rigirare la cosa in diversi modi ma non ho trovato uscita mi spara sempre lo stesso errore.
    Spero di essere stato chiaro e piuttosto spero che qualcuno possa aiutarmi a capire dove sbaglio.
    Vi ringrazio anticipatamente.
    Davide
    Ultima modifica di dade_n; 04-12-2006 15:00 
    ℹ️ Leggi di più su dade_n ...

  2. #2
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Alcune cose non mi sono chiare:

    1) perchè usi il driver ODBC di Access invece del Jet 4.0 ?
    In questo modo se installi l'applicazione da un cliente mi pare che sia costretto ad avere installato Access Ee su tutti i pc, se il programma è in rete).
    E se non ce l'ha? Glielo fai comprare? Con il Jet OleDB (oltre ad essere migliore) questo problema non esiste.

    2) perchè apri più connessioni allo stesso database, quando ne basta una? E per di più con du password diverse

    Ciao
    ℹ️ Leggi di più su gibra ...

  3. #3
    L'avatar di dade_n
    dade_n non è in linea Scolaretto
    Ciao Gibra, prima di tutto grazie per la tu attenzione.
    1) perchè usi il driver ODBC di Access invece del Jet 4.0 ?
    Se proprio devo essere sincero non so la differenza tra i due che mi dici, ho sempre utilizzato la versione ODBC, prendo atto della tua osservazione e cercherò info sulla differenza.
    Comunque grazie al tuo suggerimento, in merito alle connessioni, ho risolto il problema, ho lasciato una solo connessione e adesso funziona alla grande.
    Come al solito, grazie a VOI amici del forum, si impara sempre di più.
    Ciao e grazie ancora.
    Davide
    Ultima modifica di dade_n; 04-12-2006 15:10 
    ℹ️ Leggi di più su dade_n ...

  4. #4
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Quote Originariamente inviato da dade_n
    Ciao Gibra, prima di tutto grazie per la tu attenzione.

    Se proprio devo essere sincero non so la differenza tra i due che mi dici, ho sempre utilizzato la versione ODBC, prendo atto della tua osservazione e cercherò info sulla differenza.
    Presto detto:
    ODBC richiede che PRIMA di accedere al database sia creata una "fonte dati" sul pc in cui si usa il programma.
    OLEDB, invece, è più dinamico e per accedere al database è sufficiente conoscere il suo percorso.

    Ci sono comunque alcune differenze a seconda del db che si usa. Ad esempio ecco le 2 stringhe ODBC e OLEDB di connessione ad un database Oracle che si chiama BAAN:
        sConnString = "Driver={Microsoft ODBC for Oracle};Server=BAAN;UId=" & sUser & ";Pwd=" & sPwd & ";"
        sConnString = "Provider=OraOLEDB.Oracle.1;Password=" & sPwd & ";Persist Security Info=True;User ID=" & sUser & ";Data Source=baan"
    
    Normalmente, proprio perchè più indipendente, io preferisco OLEDB.

    Quote Originariamente inviato da dade_n
    Comunque grazie al tuo suggerimento, in merito alle connessioni, ho risolto il problema, ho lasciato una solo connessione e adesso funziona alla grande.
    Come al solito, grazie a VOI amici del forum, si impara sempre di più.
    Ciao e grazie ancora.
    Davide
    Bene.
    ℹ️ Leggi di più su gibra ...

  5. #5
    L'avatar di dade_n
    dade_n non è in linea Scolaretto
    Prima di tutto grazie ancora gibra, sicuramente proverò la connessione OLEDB, ma il mio db è in ACCESS, quindi devo semplicemente modificare la connessione dicendogli che è un database di Microsoft Access oppure è completamente diversa la connessione?
    Ciao
    Davide
    ℹ️ Leggi di più su dade_n ...

  6. #6
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;

    Troverai tutte le informazioni che ti servono su

    www.connectionstrings.com
    ℹ️ Leggi di più su AntonioG ...

  7. #7
    L'avatar di dade_n
    dade_n non è in linea Scolaretto
    Quote Originariamente inviato da AntonioGiuliana
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;

    Troverai tutte le informazioni che ti servono su

    www.connectionstrings.com
    ok grazie ancora.
    Un saluto a tutti
    Davide
    ℹ️ Leggi di più su dade_n ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. recupero dati da mde
    Da aldora nel forum Microsoft Word
    Risposte: 1
    Ultimo Post: 20-08-2008, 14:06
  2. Recupero Dati da DB
    Da Vbnet nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 29-05-2008, 14:07
  3. Query per recupero dati da db e somma dei campi ricavati
    Da kekko87_ nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 15-05-2008, 12:09
  4. Recupero dati
    Da ga306 nel forum Microsoft Windows
    Risposte: 3
    Ultimo Post: 05-01-2006, 21:22
  5. recupero dati
    Da nonultimo nel forum Microsoft Windows
    Risposte: 4
    Ultimo Post: 05-07-2005, 02:26