Ga naar inhoud

Queryform


anoniem

Aanbevolen berichten

Als je een formulier aanmaakt in Access, dan wordt automatisch een querie aangemaakt.

Dus maak gewoon een formulier, neem de tabellen en velden die je wilt. eventueel de voorwaarden. Creeer het formulier en bekijk dan de querie. Makkelijk zat dacht ik

------------------ Voor Uw ASP-applicaties: Corbier Automatisering Sneek

Link naar reactie

Iets soortgelijks heb ik gemaakt voor het afdrukken van etiketten.

In het formulier kan de gebruiker een selectie maken met behulp van selectievakjes (je zou ook kunnen denken aan een aantal textboxen waarin men kan opgeven waarbinnen de waarden van bepaalde velden kan opgeven) en vervolgens open je een form met en selectiestring die je op basis van de gevulde velden opbouwt. voorbeeld : DoCmd.OpenReport "etiketten rapport", acViewPreview, , wherestr

wherestr is dan gelijk aan het wheregedeelte in een query echter zonder het woord where

. Je kunt natuurlijk ook met VBA een query in sql bouwen.

voorbeeld : Set qdfNew = .CreateQueryDef("NewQueryDef", _ "SELECT ADRCONv.* from adrconv " + wherestr)

adrconv is in mijn geval een adressentabel

Link naar reactie
Heeft iemand een form die een query voor je kan opbouwen. Ik weet dat dat ook in access zelf bestaat, maar die vind ik niet echt makkelijk. Het lieft wil ik een picklijst met mogelijke velden, daarnaast een picklijst met wat voor criteria en daar naast een invoervak met de criteria. Wie kan me helpen?

Thanx! StruiS

Link naar reactie
In een formulier heb ik een aantal velden met de naam x_filter (bv number_filter) Verder heeft ieder veld een checkbox enable_x_filter om het in te schakelen (bv enable_number_filter). Beiden zijn unbound (zijn niet gerelateerd aan een tabel). Ik gebruik het om documenten te filteren in een formulier genaamd documents. [code:1:f7b990c741] Private Sub apply_filter_Click() On Error GoTo Err_Command54_Click Dim myfilter As String ' create the filter string If enable_number_filter = True Then ' if number filter myfilter = "(" _ & "(([Multichoice number]) Like " & """" & number_filter & """" & ")" _ & ")" Else ' else combine the others [/code:1:f7b990c741] Hierboven is een stukje voor de uitzondering als er op een nummer gefilterd moet worden. Een filter wordt direct samengesteld. hieronder volgt het complexere filter. [code:1:f7b990c741] myfilter = "(" [/code:1:f7b990c741] Een filter begint altijd met een haakje [code:1:f7b990c741] If enable_title_filter = True Then myfilter = myfilter & "((Title) Like " & """" & [title_filter] & """" & ")" End If [/code:1:f7b990c741] Het stukje hierboven voegt het flter voor het eerste veld toe ('title_filter' hoort bij het veld 'title' in het 'documents' formulier. [code:1:f7b990c741] If enable_type_filter = True Then If myfilter <> "(" Then myfilter = myfilter & " AND " End If myfilter = myfilter & "(([Document type]) = " & """" & [type_filter] & """" & ")" End If [/code:1:f7b990c741] Als andere velden ook ingeschakeld zijn moet ieder deel van het filter gescheiden worden door AND. Dit stuk kun je herhalen zoals hieronder gedaan is. Dit deel filtert op het veld 'document type' in formulier 'documents'. [code:1:f7b990c741] If enable_class_filter = True Then If myfilter <> "(" Then myfilter = myfilter & " AND " End If myfilter = myfilter & "((Classification) = " & """" & [class_filter] & """" & ")" End If If enable_path_filter = True Then If myfilter <> "(" Then myfilter = myfilter & " AND " End If myfilter = myfilter & "((Path) Like " & """" & [path_filter] & """" & ")" End If If enable_file_filter = True Then If myfilter <> "(" Then myfilter = myfilter & " AND " End If myfilter = myfilter & "((File) Like " & """" & [file_filter] & """" & ")" End If [/code:1:f7b990c741] Alle velden gedaan [code:1:f7b990c741] myfilter = myfilter & ")" [/code:1:f7b990c741] Sluit filter af met haakje [code:1:f7b990c741] End If [/code:1:f7b990c741] Filter is nu klaar voor gebruik. Plaats hier evt een messagebox om resultaat te tonen. [code:1:f7b990c741] ' if the user closed the documents form, open it again If IsFormOpen("Documents") = False Then DoCmd.OpenForm "Documents" End If [/code:1:f7b990c741] Aangezien in een ander formulier gefilterd wordt, moet het wel open zijn. De functie IsFormOpen moet je zelf schrijven, staat ergens in de help onder een andere naam. [code:1:f7b990c741] ' and apply or remove filter If myfilter <> "()" Then Forms!documents.Filter = myfilter Forms!documents.FilterOn = True Else MsgBox "No filter specified." & Chr(13) & "Current filter will be removed.", vbOKOnly + vbInformation, "Filter documents" Forms!documents.FilterOn = False End If [/code:1:f7b990c741] Hierboven wordt het filter toegepast op het formulier als het niet leeg is. [code:1:f7b990c741] Exit_Command54_Click: Exit Sub Err_Command54_Click: MsgBox Err.number & " : " & Err.Description Resume Exit_Command54_Click End Sub [/code:1:f7b990c741] En afsluiten die hap. Opmerking: In bovenstaande kode kun je OF filteren op nummer OF op een kombinatie van de andere velden. Hoop dat het duidelijk is. Mijn VBA programmeren is een beetje bagger, special het gebruik van vierkante haken. VBA is wat dat betreft veel te vergevingsgezind. Let verder op, sommige velden laten wildcards toe en anderen niet [ Dit Bericht is bewerkt door: Wim Sturkenboom op 2002-01-17 13:53 ]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...