kriteria vraag voor verschillende queries

  • Onderwerp starter Onderwerp starter loic
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

loic

Gebruiker
Lid geworden
10 mei 2004
Berichten
121
Hoi,

Ik heb een .mdb. Deze bestaat uit linked tables uit SQL.
Ik heb zo'n 5 queries gemaakt. Deze 5 queries worden ieder verwerk in 5 subrapporten. Elke querie heeft steeds dezelfde krteria namelijk een klantennummer. Nu hoef ik steeds info van 1 klantennummer. Deze kriteria vult de gebruiker in. Nu heb ik in de query bij kriteria gezet Like "*" & [wat is het klantennummer?].
Aangezien het 5 query's zijn popt de vraag 5 keer op. Ik zou graag willen dat de vraag 1x op komt. Ik heb gelezen dat je het met formulieren moet doen, maar ik begrijp dat niet zo. Voornamelijk omdat ik het idee heb dat je met formulieren info toevoegd, verwijder of wijzigd en dat wil ik absoluut niet. Ik wil alleen rapporten hebben. Kan iemand mij alsjeblieft helpen hiermee?
 
Maak eens een nieuw formulier.
Gebruik niet de wizard formulier, maar open het nieuwe formulier in de ontwerpmodus.
Zorg dat het formulier niet gekoppeld is aan een tabel of query.
Je kunt nu niets wijzigen, toevoegen of verwijderen met het formulier. Precies wat je zou willen dus.
Maak nu een nieuwe knop aan op dat formulier en zorg dat die knop je rapport opent.
Kijk nu naar de code die access voor die knop gegenereerd heeft.
Daar vind je een regel met OpenReport. Die code moet je een beetje gaan aanpassen.
Hieronder een voorbeeldje van dergelijke code zoals ik die in een toepassing van mij heb zitten.
De truc zit hem in het samenstellen van de where clausule (bij mij strWhere).


Private Sub cmdOK_Click()
On Error GoTo Err_cmdOK_Click
Dim stDocName As String
Dim strWhere As String
Dim idkWhere As Boolean

stDocName = "rptOverzicht"
idkWhere = False
strWhere = ""

If Len(Me.txtDatumBegin) > 0 And Len(Me.txtDatumEind) > 0 Then
strWhere = strWhere & "fldDatum BETWEEN #" & CStr(Me.txtDatumBegin) & "# AND #" & CStr(Me.txtDatumEind) & "# "
idkWhere = True
End If

If Not IsNull(Me.cboCategorie) Then
Me.cboSubCategorie = Null
Me.cboSubCategorie.RowSource = ""
Me.cboSubCategorie.Requery
If idkWhere Then
strWhere = strWhere & "AND "
End If
strWhere = strWhere & "IDCategorie = " & CStr(Me.cboCategorie) & " "
End If

If Not IsNull(Me.cboSubCategorie) Then
If idkWhere Then
strWhere = strWhere & "AND "
End If
strWhere = strWhere & "IDSubCategorie = " & CStr(Me.cboSubCategorie) & " "
End If

DoCmd.OpenReport stDocName, acPreview, , strWhere


Exit_cmdOK_Click:
Exit Sub

Err_cmdOK_Click:
MsgBox Err.Description
Resume Exit_cmdOK_Click

End Sub
 
Jeetje, dat moet ik eens rustig gaan bestuderen. Dank!!!!!!! Heb je dit handmatig gemaakt in Acces of zijn toepassingen voor?
 
Dit maak je door eerst een knopje voor het openen van het rapport te maken met de wizard.
De code die door de wizard gegenereerd word kun je dan vervolgens uitbreiden met de door jou gewenste functionaliteit.
Gewoon een stukje programmeren dus.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan