[Access/VBA] - Parameterquery als recordset

Pagina: 1
Acties:
  • 264 views sinds 30-01-2008
  • Reageer

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Topicstarter
Ik heb een query die porteringen tussen 2 datums in een formulier opzoekt, op de volgende manier:
code:
1
2
3
...
(Porteringen.Porteringsdatum) Between CDate([forms]![skibiediep]![dvan]) And CDate([forms]![skibiediep]![dtot])
...


Dit werkt normaal gesproken prima.

Ik wil echter aan de hand van deze query ook brieven genereren met gegevens, ook dit lukt nog wel.

Nu mijn probleem:
Om een brief zonder gegevens te voorkomen wil ik eerst kijken of het aantal records 0 is. Dit kan met recordCount in een recordset, dus probeer ik een recordset te openen:
code:
1
2
Set myQuery = CurrentDb().QueryDefs("AHBevestiging")
Set myRS = myQuery.OpenRecordset()


Nu krijg ik echter een foutmelding "Fout '3061' tijdens uitvoering. Er zijn te weinig parameters. Het verwachte aantal is : 2". Ik vind dit wat raar, want het is geen 'echte' parameterquery. Hij kan de parameters namelijk gewoon uit het formulier halen, maar doet dat om één of andere vage reden niet. Zie ik iets over het hoofd ofzo, of is er een eenvoudiger manier om dit te doen?

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Er is inderdaad een eenvoudigere manier om dit te doen. Kijk binnen Access maar eens naar de DCount functie.

My personal website


  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Topicstarter
OZ-Gump schreef op 12 juli 2004 @ 10:16:
Er is inderdaad een eenvoudigere manier om dit te doen. Kijk binnen Access maar eens naar de DCount functie.
Super, heb het voor elkaar. Thanx.

Desondanks zijn ideeën/gedachtes over waarom mijn vorige optie niet werkte nog welkom. :)

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


Verwijderd

Is je formulier wel geopend?

Dat kan je bepalen met de volgende functie.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function fncIsLoaded(strFormName As String) As Boolean
    '  Bepalen of een formulier is geladen.
    
    Const FORM_DESIGN = 0
    Dim frm As Access.Form
    
    fncIsLoaded = False
    For Each frm In Access.Forms
        If frm.FormName = strFormName Then
            If frm.CurrentView <> FORM_DESIGN Then
                fncIsLoaded = True
                Exit Function  ' Functie afsluiten zodra het formulier is gevonden.
            End If
        End If
    Next frm

End Function

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Topicstarter
Verwijderd schreef op 12 juli 2004 @ 11:34:
Is je formulier wel geopend?
Dat is dus het rare, hij is gewoon open. Ik kan de query ook wel uitvoeren via een button of het querytabblad, maar bij VBA gaat ie ineens k*tten.

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


Verwijderd

en wat als je de query als volgt opent:

set myRs = currentdb.openrecordset("AHBevestiging")
Pagina: 1