Tjena ! den fungerar nær den sjælv ligger under en sub.. men lægger jag in den i denna.. då krockar det... hej hej.. Nu gör jag ju alltid ren SQL kod när jag kodar, men jag har för mig att även din kod vill ha enkelfnutt runt text och # runt datum, i alla fall om det är Access du jobbar mot.Fel på sql - addnew stræng
Finn ett fel ???
Dim con5 As New ADODB.Connection
Dim rst5 As New ADODB.Recordset
Dim constr5 As String
constr5 = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=bas"
con5.ConnectionString = constr5
con5.Open constr5
rst5.Open "personal", con5, adOpenKeyset, adLockOptimistic, adCmdTable
rst5.AddNew
rst5.Fields("fornamn") = "sdjhkf"
rst5.Fields("personid") = personid
rst5.Fields("lonkod") = 100
rst5.Fields("namn") = namn
rst5.Fields("antal") = timmar
rst5.Fields("sats") = 33
rst5.Fields("summa") = 44
rst5.Fields("text") = Text
rst5.Fields("datum") = Date
rst5.Update
rst5.Close
con5.CloseSv: Fel på sql - addnew stræng
'dimma första personal
Dim con As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim constr As String
'dimma andra con för timlista
Dim con1 As New ADODB.Connection
Dim rst1 As New ADODB.Recordset
Dim constr1 As String
'dimma tredje con för lön før att vælja lønskørining
Dim con2 As New ADODB.Connection
Dim rst2 As New ADODB.Recordset
Dim constr2 As String
'dimma fjærde con för lön att kunna lægga till poster
Dim con3 As New ADODB.Connection
Dim rst3 As New ADODB.Recordset
Dim sqlcmd3 As String
Dim constr3 As String
''''''''''''
'sätta databasvar för personal
constr = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=bas"
con.ConnectionString = constr
con.Open constr
'sätta databasvar1 för timlista
constr1 = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=bas"
con1.ConnectionString = constr1
con1.Open constr1
'sätta databasvar2 för lön
constr2 = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=bas"
con2.ConnectionString = constr2
con2.Open constr2
'sätta databasvar3 för lön
constr3 = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=bas"
con3.ConnectionString = constr3
con3.Open constr3
Dim con5 As New ADODB.Connection
Dim rst5 As New ADODB.Recordset
Dim constr5 As String
constr5 = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=bas"
con5.ConnectionString = constr5
con5.Open constr5
'väljer timlista med b status
sqlcmd1 = "select * from timlista where typ = 'b' order by personid"
rst1.Open sqlcmd1, con1
'dimmar
Dim lonid As Long
Dim personid As Long
Dim timmar As Long
Dim timmar50 As Long
Dim dimmar100 As Long
Dim timlon As Long
Dim timlon50 As Long
Dim timlon100 As Long
Dim namn As String
Dim Text As String
Dim postid As String
'vælj lønekørningsnr
sqlcmd2 = "Select max(lonid) from lon"
rst2.Open sqlcmd2, con2
lonid = rst2.Fields(0) + 1
''''''''''''''''''''''''''
'snurrar tills timmlista tar slut med status b
Do While Not rst1.EOF
timmar = 0
timmar50 = 0
dimmar100 = 0
timlon = 0
timlon50 = 0
timlon100 = 0
personid = rst1.Fields(1)
namn = rst1.Fields(2)
10
timmar = timmar + rst1.Fields(4) + rst1.Fields(5) + rst1.Fields(6) + rst1.Fields(7) + rst1.Fields(8) + rst1.Fields(9) + rst1.Fields(10)
timmar50 = timmar50 + rst1.Fields(28)
timmar100 = timmar100 + rst1.Fields(29)
rst1.MoveNext
'om det ær flera veckor på samma person så går den om
If rst1.Fields(1) = personid Then GoTo 10
' skapa lønepost
rst5.Open "lon", con5, adOpenKeyset, adLockOptimistic, adCmdTable
rst5.AddNew
rst5.Fields("lonid") = lonid
rst5.Fields("personid") = personid
rst5.Fields("lonkod") = 100
rst5.Fields("namn") = namn
rst5.Fields("antal") = timmar
rst5.Fields("sats") = 33
rst5.Fields("summa") = 44
rst5.Fields("text") = Text
rst5.Fields("datum") = Date
rst5.Update
rst5.Close
con5.Close
Loop
'den e lite modifierad i denna.. det ær den delen længst nerSv:Fel på sql - addnew stræng
hær ær felmedelandet... )på norska)
tilkoblingen kan ikke brukes til å utføre denne operasjonen. den er enten lukket eller ugyldig i denna sammanhengen
-------Sv: Fel på sql - addnew stræng
Skriver du ren SQL så kan du dessutom enklare felsöka din sträng om något felar.
//Anna-Karin