Input voor factuur uit query en een tabel

Status
Niet open voor verdere reacties.
Hoe is de criteria in een toevoegquery als je het volgende wilt:

Als in kolom (van de toe te voegen tabel) "Veld1" de waarde die wordt toegevoegd al bestaat dan: niet toevoegen
 
Met not null or <>"" komt je een heel eind.
 
Werkt dat ook als in de hele kolom de waarde ergens voorkomt?

Bijvoorbeeld: in de eerste kolom staat een unieke waarde die bij een factuur hoort (factuurnummer 100 bijvoorbeeld) Dit kunnen best 5 regels zijn met de waarde 100

Als ik nu een nieuw factuurnummer aanmaak en middels de toevoegquery de nieuwe regels worden toegevoegd, wil ik dat alles wordt toegevoegd, behalve de regels waarbij factuurnummer de waarde 100 heeft.

(op dit moment wordt bij elke toevoeging de reeds bestaande nogmaals toegevoegd)
 
Ik snap je niet helemaal.... Als je de factuurregels van de nieuwe factuur wilt toevoegen, dan wil je toch alleen maar die regels toevoegen? Dan heb je toch niks met de oudere regels te maken? In welk geval je alleen hoeft te filteren op het Fatuurnummer van de nieuwe factuur (in jou voorbeeld waarschijnlijk 101). Dus het filter is dan: factuurID=101. Of is dat te makkelijk?
 
Ik zal ergens wel weer een denkfout maken, het zit nu als volgt:

Ik heb een form factuur, waarin een subformulier zit (selectiequery van de opdrachtregels)

De regels die ik in het subform aanvink, komen in de toevoegquery terecht, na uitvoeren van de toevoegquery, worden deze record toegevoegd aan de tabel factuurregels.

Deze factuurregels komen als record onder de factuur record in de tabel factuur (klikken op het plusje dan zie je de opdrachtregels die je in de factuur wilt hebben.

tot zover gaat het goed (denk ik)

Al ik nu een volgende factuur aanmaak, worden de reeds aangemaakt opdrachtregels naast de nieuwe opnieuw gemaakte regels toegevoegd.

Ik mis nog ergens dat als de projectID voorkomt in de factuurregels en de record is aangevinkt dat deze niet nogmaals moeten worden meegenomen.

(de record die is aangevink verdwijnt dus eigenlijk niet uit de selectie, waardoor deze telkens weer wordt meegenomen)
 
Laatst bewerkt:
Bij een toevoegquery loop je het risico dat je records twee of meer keer toevoegt, al naar gelang het aantal keer dat je de query uitvoert. Ik los dat meestal met een subquery op. Je criterium wordt dan iets als:
Not In(Select FactuurID From Factuurregels)
Dit criterium zet je dan op het veld FactuurID in dit voorbeeld. Oftwel: op het veld dat bepaalt of een record moet worden toegevoegd, maak je met een subquery een voorselectie van de getallen die al in die tabel zitten. Deze getallen filter je er uit met Not In. Is de query eenmaal gedraaid, dan zitten de waarden in je tabel, en worden ze de volgende keer uitgefilterd.
 
Hoi Octafish,

een subquery, hoe doe je dit ongeveer? de regels die ik selecteer gaan naar een aparte (sub)query en deze inhoud gaat weer naar de definitieve query (factuurregels in mijn geval) zit ik dan in de juiste richting?

heb ik nog iets: in de factuurregels staan de ID's van project en omschrijving, dus veld project = 2 veld omschrijving is 1. 2 en 1 hadden hier resp moeten zijn: Testproject en vergadering bijwonen. Enig idee?
 
Laatst bewerkt:
Hoi Octafish,

Had je toevallig mijn laatste post nog gezien? Ik ga er maar weer eens mee verder :D
 
Je omschrijving van de subquery is precies verkeerd om: de subquery maakt een preselectie van waarden, en die selectie wordt gebruikt om de echte query te filteren. Een subquery kun je ook altijd als zelfstandige query draaien; daar komt altijd een recordset uit.
Het tweede deel van de vraag begrijp ik eerlijk gezegd niet helemaal...
 
Hoi Octafish,

Is weer een tijdje terug en ben er weer even mee bezig. mijn tweede deel van de vraag was als in het screenshot. bij project en omschrijving staan cijfers ipv de daadwerkelijke omschrijving.

screenshot4.png
 
Als het plaatje van de tabel [Factuurregels] is dan lijkt mij dat prima! Hoort het bij een query, dan zou ik de query aanpassen, en er de tabellen [Projecten] en [Omschrijving] bij halen, zodat je de bijbehorende tekstvelden kunt laten zien (al dan niet i.p.v. de codes).
Heb je nog geen query, dan maak je die alsnog, zoals net aangegeven.

Je komt op het forum regelmatig databases tegen waarbij mensen met opzoeklijsten werken in tabellen. Ik verander die per definitie terug naar tekstvelden, omdat ik vind dat je in een tabel de opgeslagen waarden moet kunnen zien. Wil je andere informatie, maak dan een query en haal die informatie op uit de bijbehorende tabellen!
 
Hoi Octafish,

Bedankt voor de snelle reactie!

Nog/weer een vraagje: Hoe schrijf je de volgende criteria in een toevoegquery:

"Als ID reeds bestaat in de toe te voegen tabel (in een veld/kolom) dan record niet toevoegen"
 
Met een subquery:
Not In(Select ID FROM [Toe te voegen Tabel])
 
Hoi Octofish,


Ok dat werkt, nu alleen nog het volgende (voorlopig :) )

screenshot5.png

Alle aangevinkte regels in het subformulier zijn opgenomen in een factuur, deze zou ik dus niet meer willen zien in het factuurformulier (screenshot is een testopzetje)

Nu is het subformulier een query en kan ik bij criteria gewoon "nee" bij dat veld zetten, echter wordt deze query ook gebruikt door de toevoegquery om mijn tabel factuurregels te vullen en dat gaat dan niet. kan ik dit ook in het formulier regelen?
 
Ik snap niet helemaal waar je op doelt; de query die je als basis voor het subformulier gebruikt, gebruik je als basis voor de toevoegquery? In dat geval zou ik de toevoegquery helemaal in VBA doen bij de knop, dan kun je de query op het formulier alleen daarvoor gebruiken. Of je zet een filtering op het formulier; dat zou ook moeten kunnen.
 
als ik een filter op het formulier wil zetten is dat dan zoiets:

Private Sub Form_Load()

Me.Filter = "te facturen = 'no'"
Me.FilterOn = True

End Sub

(de te filteren kolom heet "te facturen")
 
Bijna....
Ik denk dit:
Me.Filter = "[te facturen] = 0"
 
hoi Octafish, dat werkt ook weer:

Als ik nu een formulier wil maken met een overzicht van de facturen, zodat ik met een filter kan filteren op wel/niet betaald en aan kan geven of ze over de betalingstermijn zijn. (daar moet ik inmiddels wel uit kunnen komen) Loop ik tegen het volgende aan:

Aan mijn factuurrecords hangen de diverse factuurregels:

screenshot6.png


Hoe kan ik nou in een overzichtformulier op één regel de factuurinformatie krijgen (uit de factuurregels alleen de som van "totaal dag"
 
Kan ik de waardes uit de factuurregels via een query groeperen? dus alle records met een zelfde factuurnummer in een een query zetten zodat dit één regel wordt? (hetmooiste zo zijn als de waarden van [totaal dag] dan ook nog worden opgeteld.

kan dit met Group By ?
 
Hoi allemaal, nou het werkt hoor :d

Ben nu even met een rapport bezig en loop tegen iets (denk ik) heel eenvoudigs aan.

Ik heb een formulier (factuur) en hier vul ik het één en ander in. hierdoor wordt een factuurrecord aangemaakt. ik wil hier ook een knop om het factuurrapport te openen. Alleen zie ik nu natuurlijk alle reeds gemaakte facturen in het rapport. i.p.v. alleen diegene die in het formulier wordt getoond.

Hoe filter ik dat?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan