Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    205

    [vb6] query - sql e db access - interrogazione composta

    salve a quanti vogliano aaiutarmi,
    ho la necessità di fare una query incrociata nel senso che non mi basta la semplice query:

    ..."select NUMERO, DATA_ARR, OGGETTO, SCRIVENTE,IMPIEG from PIPPO where IMPIEG like '" & MINNIE.TxtImpiegato.Text & "%'"
    ma devo interrogare il db per intervallo di data...quindi utilizzare un BETWEEN
    mi funziona tutto alla perfezione se creo la query direttamente su access, se visualizzo il codice sql generato mi è tutto chiaro ma adattandolo al vb mi va in errore di sintassi.
    come ovvio il problema? chi sa aiutarmi?
    io ho usato questa porzione di codice:

    ..."select NUMERO, DATA_ARR, OGGETTO, SCRIVENTE, IMPIEG from PIPPO where DATA_ARR between '" & FrmData.TxtData1.Text & "%'" And '" & FrmData.TxtData.Text & "%'"

    dove sbaglio?

    grazie Giano

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    codice:
    "select NUMERO, DATA_ARR, OGGETTO, SCRIVENTE, IMPIEG from PIPPO where DATA_ARR between '" & FrmData.TxtData1.Text & "%' And '" & FrmData.TxtData.Text & "%'"
    ...and I miss you...like the deserts miss the rain...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    205

    vb6 ancora errore nelle select

    la stringa è corretta ma non esegue la select...
    mi mostra tutti i record del database...
    devo settare il campo data del DB in modo particolare?
    in che modo va impostato il DB?

    per connettermi il codice usato è il seguente:


    Set myConn = New ADODB.Connection
    myConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\prot.mdb;Mode=Read;Persist Security Info=False"
    myConn.Mode = adModeShareExclusive

    Do While myConn.State = adStateConnecting
    Debug.Print "Connessione in Corso"
    Loop
    myConn.Open

    If myConn.State = adStateOpen Then
    Debug.Print "Connessione Aperta"
    End If

    ' Crea il recordset
    Set Myrds = New ADODB.Recordset


    Myrds.Source = "select NUMERO, DATA_ARR, OGGETTO, SCRIVENTE, NUMATT, TITOLO, DATA_ATT, DATA_SCA, DESTINAT, UFFICIO, ESITO, TIPO, ANNO, IMPIEG from PROT where DATA_ARR between '%" & Trim(FrmData.TxtData1.Text) & "%' And '%" & Trim(FrmData.TxtData2.Text) & "%'"
    Debug.Print Myrds.Source
    Myrds.Open "prot", myConn, dbOpenTable, adLockOptimistic, adCmdTable
    If Myrds.State = adStateOpen Then
    Debug.Print "Tabella APERTA"
    End If



    Originariamente inviato da vonkranz
    codice:
    "select NUMERO, DATA_ARR, OGGETTO, SCRIVENTE, IMPIEG from PIPPO where DATA_ARR between '" & FrmData.TxtData1.Text & "%' And '" & FrmData.TxtData.Text & "%'"

  4. #4
    Non vorrei dire una cavolata, mi sembra che in sql le date devono essere fornite nel formato mm/gg/aaaa, utilizzando le date visualizzate in campi Text sicuramente il formato è gg/mm/aaaa e quindi le selezioni danno risultati imprevisti.

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    205
    in effetti avevo pensato di convertirle nel formato aaaa/mm/gg e quindi considerarle come stringa, in questo modo funziona di certo, ma è un giro vizioso!

    vorrei fare le cose in maniera semlice...

    così come è settato ora, la ricerca funziona soltanto su una ricerca singola e non su un intervallo, per qui presumo che la select e i tipo di dato siamo esatti.
    non capisco deve è il problema.

    se seleziono l'intervallo data, ottengo un recordset che comprende tutti i record del mio db....NON FILTRA I DATI LA MIA RICERCA!

    qualcuno sa intervenire?
    grazie
    Originariamente inviato da vitren54
    Non vorrei dire una cavolata, mi sembra che in sql le date devono essere fornite nel formato mm/gg/aaaa, utilizzando le date visualizzate in campi Text sicuramente il formato è gg/mm/aaaa e quindi le selezioni danno risultati imprevisti.

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    205
    per tutti i cyuriosi e gli interessati la select corretta è questa!!!!
    una notte di consiglio e tutto risolto!

    codice:
    Myrds.Source = "select * from PROT where DATA_ARR between Trim('" & FrmData.TxtData1.Text & "') And Trim('" & FrmData.TxtData2.Text & "')"
    tra le altre cose omettendo il trim e agiungendo il # al posto degli apicetti....stesso risultato!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.