Undrar om någon kan hjälpa mig med följande.
Proceduren skall hämta värden från en tabell och lagra dessa i ett recordset. Med hjälp av värdena i setet skall nya poster skapas i en annan tabell.
Koden ser ut som följer och jag får ett typkonverteringsfel i RunSQL raden.
Mina främsta frågor är:
1. Är det rätt upplagt med recordset?
2. Varför funkar inte RunSQL satsen? Kan jag göra det på annat sätt?
Private Sub cmdNyInmatning_Click()
Dim startTime As Variant
Dim endTime As Variant
Dim rs As New ADODB.Recordset
Dim strSQL As String
startTime = DLookup("Open", "Tbl_Positioner", "Posit_ID=" & Me.cboPosit)
endTime = DLookup("Close", "Tbl_Positioner", "Posit_ID=" & Me.cboPosit)
strSQL = "SELECT Timmar FROM Tbl_Timmar WHERE Timmar BETWEEN #" & startTime & "# AND #" & endTime & "# ORDER BY Timmar"
rs.Open strSQL, CurrentProject.Connection
While Not rs.EOF
DoCmd.RunSQL "INSERT INTO Tbl_PersKontroll (Datum, Post_ID, Tim) VALUES('#Me.txtDate#','Me.cboPosit','rs.Timmar') "
rs.MoveNext
Wend
Här skall lite annan kod ligga men så långt har jag inte kommit än..
End Sub
Datum förklarar ju sig själv, Post_ID är ett tal, Tim är i datumformat. Det funkade inte att utelämna ' - tecknen och
rs!timmar förbättrade inte resultatet....tyvärr..tack för hjälpen iaf.
Anledningen att Post_ID kommer från en kombo är att de värdena väljs i ett formulär från en tredje tabell.
Man tackar allra mjukast, fungerar kanon efter att jag utvecklat koden lite som följer!!! :birp
DoCmd.RunSQL "INSERT INTO Tbl_PersKontroll (Datum, Post_ID, Tim) " & _
" select #" & Me.txtDate & "#,'" & Replace(Me.cboPosit, "'", "''") & "',Timmar from tbl_timmar WHERE Timmar BETWEEN #" & startTime & "# AND #" & endTime & "# "
Nu skall jag bara försöka lista ut vad det är du gjort så jag kan bli lite klokare oxå... . Så lite följdfrågor därför.. :e
Varför en replace på cboPosit? Vad gör en replace?
Går det att få bort meddelandet om X antal poster har lagts till osv osv... ser ju inte riktigt snyggt ut..
Jag försökte sätta in en radbrytning i min SQL kod och då blev det helt plötsligt typfel.....verkar lite skumt det där....spelar det någon roll var man sätter in radbrytningen i dylik sql-sats?
258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849