vba code OpenRecordset werkt niet meer

Status
Niet open voor verdere reacties.

jwaque

Verenigingslid
Lid geworden
16 aug 2006
Berichten
445
http://www.helpmij.nl/forum/showthread.php/676583-query-herhalen-met-data-uit-tabel

in bovenstaande vraag is mijn probleem opgelost. Dit werkt goed in mijn test database op mijn PC thuis. Echter bij overzetten naar het netwerk op mijn werk, werkt het niet meer. Hij loopt vast op: Set rs = db.OpenRecordset("KiesActienemer", dbOpenTable, , dbReadOnly)

Iemand een idee waar ik het probleem moet zoeken?

In mijn visual basic staat het volgende ingesteld.Afbeelding1.jpg

Code:
Private Sub verzenden_Click()

'recordset defineren
Dim db As Database
Dim rs As Recordset
'huidige database selecteren en de uitkomst van de query in het recordset zetten
Set db = CurrentDb()
Set rs = db.OpenRecordset("KiesActienemer", dbOpenTable, , dbReadOnly)

'naar het eerste record gaan
rs.MoveFirst
Do
'doen zolang laatste record niet is bereikt
    Do While Not rs.EOF
'defineren ontvanger en actienemer met veld uit recordset
    ontvanger = rs!email
    Actienemer = rs!Actienemer
'report openen voor eerste naam
    DoCmd.OpenReport "verzenden", acViewPreview, , "actienemer = '" & rs!Actienemer & "'"
'report verzenden naar eerste ontvanger
    DoCmd.SendObject acSendReport, , acFormatSNP, ontvanger, , , "actielijst" & " voor " & ontvanger & " naar " & Actienemer, "graag lijst bijwerken"
    Exit Do
'voorgaande herhalen
Loop
'report sluiten
DoCmd.Close acReport, "TblActies", acSaveNo
'naar volgend record gaan
rs.MoveNext
'herhalen tot einde van de recordset
Loop Until rs.EOF
Set rs = Nothing
Set db = Nothing


End Sub
 
Je kunt de ADO 2.1 bibliotheek eens uitzetten, of vervangen door ADO 2.8.
Of de database objecten specifiek als DAO declareren:

Code:
Dim db As DAO.Database
Dim rs As DAO.Recordset

Of deze variant proberen:
Code:
With CurrentDb.OpenRecordset("KiesActienemer", dbOpenTable, , dbReadOnly)
    .MoveFirst
    Do While Not .EOF
        'defineren ontvanger en actienemer met veld uit recordset
        ontvanger = !Email
        Actienemer = !Actienemer
        'report openen voor eerste naam
        DoCmd.OpenReport "verzenden", acViewPreview, , "actienemer = '" & rs!Actienemer & "'"
        'report verzenden naar eerste ontvanger
        DoCmd.SendObject acSendReport, , acFormatSNP, ontvanger, , , "actielijst" _
            & " voor " & ontvanger & " naar " & Actienemer, "graag lijst bijwerken"
        'voorgaande herhalen
        DoCmd.Close acReport, "TblActies", acSaveNo
        .MoveNext
    'herhalen tot einde van de recordset
    Loop
End With
 
@Michel. beide opties geprobeert maar hij blijft een fout geven op de regel met OpenRecordSet.
 
Na wat lezen in andere vragen het volgende getest: With CurrentDb.OpenRecordset("KiesActienemer")

en dat werkt.
wederom hartelijkdank voor jullie hulp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan