Oppure

Loading
05/08/08 13:25
Ghidyan87
Salve ragazzi avrei bisogno di un aiuto sto realizzando un software per la gestione del bilancio familiare(Versamenti stipendio,pagamenti,prelievi di denaro) etc..etc.. ora ho implementato alcune funzioni per la ricerca per data e per mese. Ora il punto è questo,per realizzare la funzione di ricerca per data o per mese ho usato questo codice qui:

stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
stringa = stringa & "C:\Documents and Settings\Hero\Desktop\Gestione Bilancio Familiare\Database1.mdb"

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

cn.Open stringa
rs.Open "SELECT * FROM Tabella1", cn, 1

If rs.EOF Then
lblDati.Caption = "Nessun dato"
Else

While rs.EOF = False
If rs("data";) <> txtData.Text Then
lblDati.Caption = "Non è stato trovato alcun versamento effettuato nella data da lei inserita.Ricontrollare e Riprovare."
'lblDati2.Visible = False
'Image2.Visible = True
Else
If txtData.Text = rs("data";) Then

List1.AddItem "Versamento effettuato in data" & " " & rs("data";) & " " & "Importo Versato" & " -- " & rs("Importo";) & " -- " & "Straordinario Mensile" & " " & rs("Straordinario";)
lblDati2.Caption = "Trovato versamento nella data da lei indicata."
lblDati.Visible = False
End If
End If
If rs("Mese";) <> txtMese.Text Then
lblDati.Caption = "Non è stato trovato alcun versamento effettuato nel Mese da lei indicato.Ricontrollare e Riprovare."
'lblDati2.Visible = False
'Image2.Visible = True
Else
If txtMese.Text = rs("Mese";) Then
MsgBox "E' stata richiesta una ricerca che utilizza come criterio la ricerca per mese e non per data.Per tanto se alcuni risultati non figurano nell'elenco,provare con la ricerca per data.", vbInformation
List1.AddItem "Versamento effettuato nel mese di " & " " & rs("Mese";) & " " & "Importo Versato" & " -- " & rs("Importo";) & " -- " & "Straordinario Mensile" & " " & rs("Straordinario";) & " " & "Totale" & " " & rs("Totale";)
lblDati2.Caption = "Trovato versamento nel Mese da lei indicato."
lblDati.Visible = False
End If
End If



'txtData.Text = rs("Data";)
'txtImporto.Text = rs("Importo";)
'txtTotale.Text = rs("Totale";)
'lblDati.Caption = lblDati.Caption _
'& rs("Data";) & " " _
'& rs("Importo";) & " " _
'& rs("Totale";) & vbCrLf
rs.MoveNext
Wend

End If


Set cn = Nothing
Set rs = Nothing
----------
ora vorrei un aiuto come posso realizzare una funzione che mi dia nella stessa list box i pagamenti da un giorno a un altro ad esempio dal 1 al 7 oppure dal 7 al 1. Ho provato ad usare un ciclo for ma non mi va sapete come posso fare?grazie in anticipo
aaa
05/08/08 16:22
Overflow
non so come è strutturato il tuo database, puoi provare in questo modo:

    Dim sql As String
    
    sql = "select * from nTabella where campoData between CDate('01/01/2008')  and CDate('01/04/2008')"
    rs.Open sql, cn, 3, 3
        'se il recordset è stato aperto prima allora fai cn.execute sql
    rs.MoveFirst
    While Not rs.EOF
        List1.AddItem rs("Nome")
        rs.MoveNext
    Wend


ho usato una query:
select * from tSample where Data between CDate('01/01/2008') and CDate('01/04/2008') per ottenere i record compresi tra le due date, tu
metti al posto delle mie date le date che ti interessano.
Infine ho inserisco nella lista il campo Nome tu inserisci invece quello che ti serve.
Ultima modifica effettuata da Overflow 05/08/08 16:24
aaa