Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    [VB6] stringa di recerca in DAO

    salve ragazzi
    o un progetto di conto corrente x il controllo di tre banche ed avendo tre dB uno per ogni banca
    adesso vorrei vedere tutti gli assegni emessi in un datagrid di tutte le banche

    inserisco la stringa che mi trova tutti gli assegni di tutti i fornitori e funziona
    Set Data4.Recordset = Db.OpenRecordset("select * from assegni where datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# and datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "# order by datascadenza ")

    mi servirebbe una stringa in dao che mi trova tutti gli assegni di uno solo dei fornitori richiesto

    o inserito questa stringa ma non va

    Set Data4.Recordset = Db.OpenRecordset("SELECT * FROM Assegni WHERE (Destinatario Like '%" & Combo1.Text & "%') AND (Datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# AND Datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "#")

    mi sapreste dirmi la stringa giusta


    ciao

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusami ... non ti capisco ...

    In questo post

    http://forum.html.it/forum/showthrea...hreadid=908549

    mi avevi detto che andava bene ...

    Cosa non va?

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Usa i tag (togli l'asterisco) [*CODE] e [*/CODE] per racchiudere il
    codice. Non si capisce niente della tua stringa.
    A prima vista, però, non utilizzare le parentesi nella WHERE. Così
    scoprirai che non hai chiuso la prima parentesi.

    Questa 'dovrebbe' essere giusta. Dico 'dovrebbe' perchè non
    controlli se effettivamente combo1.Text ha un valore valido.

    codice:
     
    
     Set Data4.Recordset = Db.OpenRecordset("SELECT * FROM Assegni WHERE  Destinatario Like '%" & Combo1.Text & "%' AND Datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# AND Datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "#")
    Ciao, Brainjar

  4. #4

    Re: [VB6] stringa di recerca in DAO

    Originariamente inviato da angillieri
    Set Data4.Recordset = Db.OpenRecordset("SELECT * FROM Assegni WHERE (Destinatario Like '%" & Combo1.Text & "%') AND (Datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# AND Datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "#")

    mi sapreste dirmi la stringa giusta
    ciao
    Secondo me il problema sta nell'uso del like:
    Like %nomefornitore%, trova tutti i record che contengono il nome del fornitore all'interno del campo Destinatario.

    ES.
    Tabella con
    ABC
    BCA
    CAB


    Se faccio like %AB%, dico di cercare tutti i record che contengono AB in qualunque posizione, quindi i record
    ABC e CAB .

    Un Destinatario = "'" & Combo1.Text & "'" penso sia piu' corretto.


  5. #5
    per oregon sul quel post ti o detto che andava bene e va benissimo ma forse non mi sono spiegato bene
    li mi serviva per la ricerca direttamente nel db dove sono memorizzati tutti gli assegni
    adesso dato che devo lavorare con tutti e tre db contemporaneamente
    e con tre comandi data prelievo tutti gli assegni e li visualizzo nel datagrid senza memorizzarli
    dopo tramite la combobox volendo visualizzare solo un fornitore visualizzo solo gli assegni del nome scelto
    forse sbagliero' nel modo di fare il tutto ma le altre funzioni mi funzionano benissimo

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Molto probabilmente non ci comprendiamo ...

    La ricerca con una frase SQL va fatta su *un solo* database.

    Se fai 3 query in 3 database diversi, e metti i risultati nella griglia (come?) a questo punto e' finita ... non puoi usare piu' SQL per fare "selezioni" nella griglia ...

    Quello che, secondo me, e' profondamente sbagliato nel tuo programma e' il fatto di utilizzare 3 database diversi ....

    Ne devi utilizzare uno solo e prevedere le tabelle adeguate se gestisci piu' banche ... solo cosi' potrai venire a capo di situazioni che coinvolgono le n banche gestite.

  7. #7
    con questa stringa funziona ma me li trova tutti
    io vorrei che mi trovasse gli assegni tra due date diverse

    Set Data4.Recordset = Db.OpenRecordset("SELECT * FROM Assegni WHERE Destinatario Like '" & Combo1.Text & "'")

    ciao

  8. #8
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Lo hai letto il mio post ?
    Ciao, Brainjar

  9. #9
    scusa oregon io li visualizzo cosi forse sbaglio ma va
    Sub visualizzatutti()
    nome1 = App.Path & "\carime.mdb"
    nome2 = App.Path & "\roma.mdb"
    nome3 = App.Path & "\cariplo.mdb"
    Rs.Close
    Rs.Open QR, Cn, adOpenDynamic, adLockBatchOptimistic
    Set Db = OpenDatabase(nome1, False, False, pass)
    Data4.DatabaseName = Db.Name
    Set Data4.Recordset = Db.OpenRecordset("select * from assegni where datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# and datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "# order by datascadenza ")
    Do Until Data4.Recordset.EOF
    Rs.AddNew
    Rs!codiceassegno = Data4.Recordset!codiceassegno
    Rs!Destinatario = Data4.Recordset!Destinatario & " Nr. " & Data4.Recordset!numeroassegno
    Rs!dataemissione = Data4.Recordset!dataemissione
    Rs!valoreassegno = Data4.Recordset!valoreassegno
    Rs!Datascadenza = Data4.Recordset!Datascadenza
    Rs.Update
    Data4.Recordset.MoveNext
    Loop
    Data4.Recordset.Close
    Db.Close
    Set Db = OpenDatabase(nome2, False, False, pass)
    Data2.DatabaseName = Db.Name
    Set Data2.Recordset = Db.OpenRecordset("select * from assegni where datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# and datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "# order by datascadenza ")
    Do Until Data2.Recordset.EOF
    Rs.AddNew
    Rs!codiceassegno = Data2.Recordset!codiceassegno
    Rs!Destinatario = Data2.Recordset!Destinatario & " Nr. " & Data2.Recordset!numeroassegno
    Rs!dataemissione = Data2.Recordset!dataemissione
    Rs!valoreassegno = Data2.Recordset!valoreassegno
    Rs!Datascadenza = Data2.Recordset!Datascadenza
    Rs.Update
    Data2.Recordset.MoveNext
    Loop
    Data2.Recordset.Close
    Db.Close
    Set Db = OpenDatabase(nome3, False, False, pass)
    Data3.DatabaseName = Db.Name
    Set Data3.Recordset = Db.OpenRecordset("select * from assegni where datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# and datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "# order by datascadenza ")
    Do Until Data3.Recordset.EOF
    Rs.AddNew
    Rs!codiceassegno = Data3.Recordset!codiceassegno
    Rs!Destinatario = Data3.Recordset!Destinatario & " Nr. " & Data3.Recordset!numeroassegno
    Rs!dataemissione = Data3.Recordset!dataemissione
    Rs!valoreassegno = Data3.Recordset!valoreassegno
    Rs!Datascadenza = Data3.Recordset!Datascadenza
    Rs.Update
    Data3.Recordset.MoveNext
    Loop
    Data3.Recordset.Close
    Set DataGrid1.DataSource = Rs
    Rs.Sort = "[" & Rs(3).Name & "]" 'ordina secondo il contenuto della colonna
    End Sub

    ciao

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da angillieri
    con questa stringa funziona ma me li trova tutti
    io vorrei che mi trovasse gli assegni tra due date diverse

    Set Data4.Recordset = Db.OpenRecordset("SELECT * FROM Assegni WHERE Destinatario Like '" & Combo1.Text & "'")

    ciao
    Ti avevo suggerito questa frase SQL

    Rs.Open "SELECT * FROM Assegni WHERE (Destinatario Like '%" & Combo1.Text & "%') AND (Datascadenza >= #" & Format(datai, "yyyy/mm/dd") & "# AND Datascadenza <= #" & Format(dataf, "yyyy/mm/dd") & "#)"

    nell'altro post e avevi detto che andava bene ...

    E' quella che serve a selezionare anche la data ...

    Non so cosa altro dirti ...

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.