Foutmelding ADO VBA

Status
Niet open voor verdere reacties.

harolda1980

Gebruiker
Lid geworden
7 aug 2007
Berichten
488
Ik krijg sindskort de volgende melding:


De argumenten zijn van het verkeerde type of vallen buiten de toegestane bereik of zijn in conflict met elkaar. Het vreemde is dat ik niks anders doe dan in andere stukke code.
Onderaan nog een foto van de melding als je op help klikt?

Ik werk met Microsoft ado 2.8

Code:
Private Sub prijsverhoging_regelupdate()
Dim regel_index As Long
Dim regel_ID As Long
Dim regel_INK As Currency
Dim regel_PRIJS As Currency
Dim R As Long
Dim rs As ADODB.Recordset
Dim stringsql As String
    Set rs = New ADODB.Recordset
    regel_index = lswerk.ListItems.Count
    R = 1
    Do Until R = regel_index - 1
        regel_ID = lswerk.ListItems(R)
        regel_INK = lswerk.ListItems(R).SubItems(11)
        regel_PRIJS = lswerk.ListItems(R).SubItems(13)
        stringsql = "SELECT tbrreceptuurregel.ARID, tbrreceptuurregel.ID, tbrreceptuurregel.Omschrijving, tbrreceptuurregel.Artnr, tbrreceptuurregel.Merk, tbrreceptuurregel.EH, tbrreceptuurregel.Prijs, tbrreceptuurregel.TP, tbrreceptuurregel.ng, tbrreceptuurregel.ink, tbrreceptuurregel.dt, tbrreceptuurregel.GT FROM tbrreceptuurregel WHERE tbrreceptuurregel.ARID = '" & regel_ID & "';"
        rs.Open CNNAPP, stringsql, adOpenForwardOnly, adLockOptimistic
        Do While Not rs.EOF
            rs!Prijs = regel_PRIJS
            rs!ink = regel_INK
            rs!dt = Date
            rs.Update
        Loop
        rs.Close
        R = R + 1
    Loop
End Sub

Foutmelding1.jpg
 
Ik mis in ieder geval een Edit commando, en een Movenext etc. Maar je kunt het eens met DAO proberen:

Code:
Dim Regel_Index As Long, Regel_ID As Long, R As Long
Dim Regel_Ink As Currency, Regel_Prijs As Currency
Dim stringSQL As String
    
    Regel_Index = lswerk.ListItems.Count
    For R = 1 To Regel_Index - 1
        Regel_ID = lswerk.ListItems(R)
        Regel_Ink = lswerk.ListItems(R).SubItems(11)
        Regel_Prijs = lswerk.ListItems(R).SubItems(13)
        stringSQL = "SELECT Prijs, ink, dt FROM tbrreceptuurregel WHERE ARID = '" & Regel_ID
        With CurrentDb.OpenRecordset(stringSQL, dbOpenDynaset, dbSeeChanges)
            .MoveFirst
            Do While Not rs.EOF
                .Edit
                .Fields("Prijs") = Regel_Prijs
                .Fields("Ink") = Regel_Ink
                .Fields("dt") = Date
                .Update
                .MoveNext
            Loop
        End With
        .Close
    Next R
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan