Nu jäklas det! Hej, om det är en accessdatabas skall du använda # istället Du får också tänka på att ditt strDatum är en variabel och måste läggas utanför din select-sats så det blir korrekt. tja nu funkar det sörru!! Fast jag hajar inte ändå varför man måste ha med # det skall väll vara till datatypen date inte till datatypen string eller!!?? I Access så används #datum# för att markera att det är ett datumfält. Det är bara gjort så helt enkelt...trubbel med sql fråga
Så här är det jag anropar en funktion så här:
Private Sub txtDatum_KeyPress(Key As Integer)
'hämta poster för det aktuella datumet
If Key = vbKeyReturn Then
MsgBox "ändring i datum"
databas.HamtaPoster CStr(txtDatum.Text)
End If
End Sub
och sedan tas detta anrop emot så här:
Public Sub HamtaPoster(strDatum As String)
MsgBox (strDatum)
Set recSetTider = db.OpenRecordset("SELECT * FROM tider WHERE Datum ='strDatum' ")
MsgBox (recSetTider("anstnr"))
End Sub
om jag istället för strDatum skriver in 2001-02-20 inom ' ' så funkar det obs att datumet är sparat som en sträng i DB.
Felet är att inga poster hittas när jag skriver så som jag visar ovan men om jag skriver ut strDatum innan så innehäller den precis det jag vill ha.Sv: trubbel med sql fråga
<code>
Set recSetTider = db.OpenRecordset("SELECT * FROM tider WHERE Datum = #" & strDatum & "# ")
</code>
Övrigt att tänka på är att gärna testa din sql-sats att den ser korrekt ut. Exempelvis med:
<code>
sql = "SELECT * FROM tider WHERE Datum = #" & strDatum & "# "
msgbox sql
Set recSetTider = db.OpenRecordset(sql)
</code>
Lycka till
/PelleSv: trubbel med sql fråga
Tack för hjälpen nu funkar det ju i alla fall :)Sv: trubbel med sql fråga