18. juli 2002 - 15:46Der er
10 kommentarer og 1 løsning
databaseudtræk via Calendar(DateTimeOicker)
Jeg har lavet et lille reminder/kalender program, hvor jeg via en DataControl(Data1) vælger en bestemt dato i en database(Access). Til den valgte dato vises de tilhørende begivenheder i et DataGrid.
Hvorledes får jeg skiftet DataConrtollen(Data1) ud med en kalender (MS Calendar Control 8.0), således at et klik på en dato vil vise de tilhørende begivenheder i DataGrid'en Jeg har prøvet at sætte en Calendar Control ind (Via en ADODC control) og kan også godt få vist den valgt dato i textbox, men hvorledes får jeg trukket den samme dato + begivenheder ud af databasen.
Jeg benytter bla. flg.:
Dato1 = Calendar.Value (henter calendar valget ind i Dato1 variablen) conn.Open "DSN=DB_????;uid=??;pwd=??;database=DB_???"
Set cmd1.ActiveConnection = conn cmd1.CommandText = "SELECT Dato FROM T_Dato WHERE Dato " & Dato1
Jeg får ikke noget "ind" i rs1(recordset)!! Og hvis jeg fik noget ind i rs1, hvorledes kan jeg så få det ud igen? Jeg har lidt erfarring med DatabaseConnections og Recordsets fra ASP(VBScript).
Skulle det ikke være nogle samme fremgangsmåde??
Jeg har tumlet med diverse bøger, bla. "VB6.0 Step By Step" og "VB6.0 Programmer's Guide" samt Msdn Library VS.6.0, for at prøve at finde svar men uden held indtil nu.
Hvis du kan "fange" datoen i en textbox kan du også bruge den til at søge i databasen:
Data1.Recordset.MoveFirst Do Until Data1.Recordset.EOF = True If Data1.Recordset("Dato") = Text1.Txt Then 'Her skriver du det den skal efter at have fundet dato i databasen Exit Do End If Data1.Recordset.MoveNext Loop
Ja, jeg har bådet prøvet med og uden, samme resultat!!!
Her får du koden:
Private Sub Calendar1_Click()
Dim conn As New ADODB.Connection Dim cmd1 As New ADODB.Command Dim cmd2 As New ADODB.Command Dim rs1 As New ADODB.Recordset Dim rs2 As New ADODB.Recordset Dim tex1 tex1 = Calendar1.Value
'.Recordset.MoveFirst Do Until Data1.Recordset.EOF = True If Data1.Recordset("Dato") = Text1.Text Then Label1.Caption = Data1.Recordset("Dato") 'Her skriver du det den skal efter at have fundet dato i databasen Exit Do End If Data1.Recordset.MoveNext Loop
Nu har jeg pludselig et problem på min egen maskine - jeg kan ikke få en CalendarComp. på min form!!! Det må jeg have løst. Men umiddelbart har du en apostrof i linien .Recordset.MoveFirst - den skal ikke være der.
Det er en "leftover" fra en tidligere udkomentering(test). Mit problem er stadigt at jeg ikke kan finde ud af hvorledes jeg får data ud rs1(recordset)som gerne skulle indeholde resultatet at sql sætningen. Kan du evt. vise mig det med et eksempel. Hvis jeg skifter Data1(fra dit eks) ud med rs1, som jeg mener ville være logisk som får jeg også en fejlmedl. om at "Method or data member not found" Efter mig logik så henter jeg data ind i rs1 vha. sql(cmd1) sætningen og connectionstring(conn) og derefter skulle jeg vel bare kunne "tage" de data ud af rs1 som jeg skal bruge ??? eller hva' ????
Jeg er ikke go' til SQL men jeg mener det skal være... Select ... WHERE (((Tabelnavn.Dato) Like "10-07-2002"))
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.