Formulierprobleem (kan geen titel bedenken..)

Status
Niet open voor verdere reacties.
Als je er een query van maakt, kun je die zelf denk ik wel aan een knop hangen met de wizard. Je gebruikt dan in die query een filtering op Fichenummer.

edit: heb het werkend alleen dupliceert ie alle records met hetzelfde fichenummer, dus als ik 4 records heb met fichenummer 15000 en ik dupliceer dan heb ik er ineens 4 (dus 8 totaal) bij ipv 1.... heb bij criteria Like [forms]![Formulier stempel benelux]![Fichenr]
 
Laatst bewerkt:
Je zal dus een extra filtering moeten maken, door ofwel velden te verwijderen, ofwel (als alle gegevens in de query verder identiek zijn) te groeperen.
 
En hoe wil ik dat precies doen ;)

Want bijv. de ene keer heb ik 2 records en wil ik naar 3 maar krijg ik er 4 en de andere keer heb ik 4 records en wil ik naar 5 maar krijg ik er 8. Dus ik weet toch nooit hoeveel ik er moet verwijderen.

Eigenlijk moet ik als criteria een uniek veld kunnen nemen want dan dupliceert hij altijd maar 1x......maar dat gaat zeker niet omdat het uniek is :P

Ik wil het ook best met OpenAgs proberen want dan kopier ik gewoon het formulier, maar ik weet niet precies hoe OpenArgs werkt. Ik vond o.a. 3 verschillende (in mijn ogen) uitwerkingen van jouw Octafish:
http://www.helpmij.nl/forum/showthread.php/563072-Veld-waarde-overnemen-in-een-ander-formulier
http://www.helpmij.nl/forum/showthread.php/421155-gegevens-van-form-1-mee-nemen-naar-form-2
http://www.helpmij.nl/forum/showthr...ier-gegeven-meenemen-naar-een-ander-formulier
 
Laatst bewerkt:
Wat ik bedoel is het volgende: je filtert nu alleen op Fichenr.
Like [forms]![Formulier stempel benelux]![Fichenr]
Dat werkt blijkbaar niet, omdat je hier meerdere records mee selecteert. Als de records volledig identiek zijn, zul je de filtering moeten aanpassen. Ofwel door een extra veld toe te voegen waarop je wèl een uniek record overhoudt, of, andere optie, door de bron van de query te veranderen. Door de knop Totalen aan te zetten zou je, bij identieke gegevens, nog maar één record over mogen houden. Eventueel zet je het veld [Fichenr] op <Group By>, en alle overige velden op <Eerste>. Dan zou je zeker slechts één record over moeten houden. Dit record voeg je dan toe met de toevoegquery.
 
Wat ik bedoel is het volgende: je filtert nu alleen op Fichenr.

Dat werkt blijkbaar niet, omdat je hier meerdere records mee selecteert. Als de records volledig identiek zijn, zul je de filtering moeten aanpassen. Ofwel door een extra veld toe te voegen waarop je w�l een uniek record overhoudt, of, andere optie, door de bron van de query te veranderen. Door de knop Totalen aan te zetten zou je, bij identieke gegevens, nog maar ��n record over mogen houden. Eventueel zet je het veld [Fichenr] op <Group By>, en alle overige velden op <Eerste>. Dan zou je zeker slechts ��n record over moeten houden. Dit record voeg je dan toe met de toevoegquery.

1. Hmmmm een veld toevoegen zou denk ik wel kunnen maar dat gaat denk ik voor problemen zorgen bij de mensen die er mee moeten werken om dat veld/record uniek te houden. Liever optie 2:

2. De knop Totalen aanzetten en [Fichenr] op <Group By> zetten en de rest op <Eerste> werkt inderdaad alleen heb ik dan een kopie van het eerste record van dat Fichenr en niet van het laatst aangemaakt record voor dat Fichenr. Dus ik dacht ik verander <Eerste> in <Laatste> maar dat werkt dus niet. We zijn er bijna!!! I can feel it! :D
 
Laatst bewerkt:
Je gaf eerder aan dat je 4 identieke records krijgt. Dan denk ik: maakt niet zoveel uit welk record je dupliceert...
Overigens:
Hmmmm een veld toevoegen zou denk ik wel kunnen maar dat gaat denk ik voor problemen zorgen bij de mensen die er mee moeten werken om dat veld uniek te houden.
Ik dacht meer aan een bestaand veld met een unieke waarde toevoegen aan de query. Ik zou zeker niks in laten vullen! En als je al een veld kunt toevoegen, moet je daar bij voorkeur een Autonummer veld van maken. Kun je ook heel makkelijk de laatste terugvinden, want dat is automatisch het hoogste nummer.
 
Je gaf eerder aan dat je 4 identieke records krijgt. Dan denk ik: maakt niet zoveel uit welk record je dupliceert...
Overigens:

Ik dacht meer aan een bestaand veld met een unieke waarde toevoegen aan de query. Ik zou zeker niks in laten vullen! En als je al een veld kunt toevoegen, moet je daar bij voorkeur een Autonummer veld van maken. Kun je ook heel makkelijk de laatste terugvinden, want dat is automatisch het hoogste nummer.

Voorbeeldje:
record 1 Fichenr 15000 aangemaakt op 18 januari 2011
record 2 Fichenr 15000 gedupliceerd(aangemaakt) op 25 januari 2011 en 8 waarden gewijzigd
record 3 Fichenr 15000 gedupliceerd(aangemaakt) op 26 januari 2011

Dan wil ik dus dat record 3 de waarden van record 2 krijgt en niet van record 1 wat nu dus gebeurd. Ze weten op het moment van dupliceren NIET hoeveel records er bijkomen.

Btw een uniek/autonummer veld kan ik toch niet dupliceren?
 
Nee, maar daar gaat het ook niet om. Je wilt het laatste record dupliceren, dus je moet het laatste record opzoeken. Daarvoor is een Autonummer veld prima te gebruiken. Normaal gesproken moet je dat toch kunnen vinden als je op Max([Datum]) zoekt? En de rest op <Group By> of (Behalve Fichenr) op <Eeerste>?
 
Ik heb al een autonummering veld dus dat komt mooi uit ;) (maar geen datum veld was alleen ff voor voorbeeld)

Maar om even samen te vatten wat moet het "Totaal" zijn bij de volgende velden want ik snapte je laatste zin niet helemaal:
Autonummering veld=Laatste?
Fichenr=Group by?
Rest=Eerste?

edit: hmmm verschillende mogelijkheden geprobeerd maar met het autonummering veld erbij lijkt het niet te werken vanwege sleutelconflict. Dit veld moet dus niet toegevoegd worden (d.m.v. deze toevoegquery) aan de tabel hmmmmmm
 
Laatst bewerkt:
Bump

Dus hoe ga ik dat precies doen? want het is een toevoegquery en een uniek veld kun je niet dupliceren.
 
Het is geen veld, maar een knop: de knop Totalen dus (Je weet wel, die met het SOM teken).
En een Autonummerveldl moet je inderdaad niet toevoegen aan een veld; dat wordt namelijk vanzelf aangemaakt. Het gaat er juist om dat je het ID veld gebruikt om het laatste record te vinden. Je hebt het ID veld dus alleen nodig om op te filteren.
Als je een toevoegquery maakt, zal Access doorgaans de velden waarin je gaat toevoegen automatisch vullen als de veldnamen hetzelfde zijn. Het Autonummerveld moet je dus zelf leegmaken. Want, zoals je al een paar keer hebt geconstateerd, dat kun je niet vullen. Maar dat hoeft dus ook niet...
 
Ok, I just lost you :o

ff samenvatten:

Ik heb dit gedaan:
Door de knop Totalen aan te zetten zou je, bij identieke gegevens, nog maar één record over mogen houden. Eventueel zet je het veld [Fichenr] op <Group By>, en alle overige velden op <Eerste>. Dan zou je zeker slechts één record over moeten houden. Dit record voeg je dan toe met de toevoegquery.

Screenshot:
http://img151.imageshack.us/f/voorbeeldb.jpg

Dit werkt dus behalve dat het eerste record voor dat Fichenr gekopieërd wordt en niet het laatste.

Stempelnr is het autonummeringveld (maar 1 mogelijk) wat niet opgenomen wordt in deze (toevoeg)query.

Wat moet ik nu doen?
 
Laatst bewerkt:
Ik heb in een oudere versie de query geprobeerd na te maken, maar hij gaat het überhaupt niet zo doen, tenzij je de veldinstellingen van het veld [Ordernr] hebt veranderd; in mijn versie staat dat veld geïndexeerd op <Ja (Geen duplicaten)>. Ergo: je kunt niet dupliceren...
In je plaatje mis ik dus het veld [Stempelnr], waarop je moet filteren (met Max). Anders blijf je het eerste record zien... Zoals ik eerder al zei: je moet dat veld wel degelijk toevoegen aan de query, maar je moet het (kunt het) niet toevoegen aan het veld Stempelnr. Je moet de veldnaam dus verwijderen uit de regel <Toevoegen aan>.
Samengevat: je voegt het veld [Stempelnr] toe aan de query, zet 'm op Max in de regel <Totaal>, en verwijdert de veldnaam in de regel <Toevoegen aan>.
 
Ik heb in een oudere versie de query geprobeerd na te maken, maar hij gaat het überhaupt niet zo doen, tenzij je de veldinstellingen van het veld [Ordernr] hebt veranderd; in mijn versie staat dat veld geïndexeerd op <Ja (Geen duplicaten)>. Ergo: je kunt niet dupliceren...
In je plaatje mis ik dus het veld [Stempelnr], waarop je moet filteren (met Max). Anders blijf je het eerste record zien... Zoals ik eerder al zei: je moet dat veld wel degelijk toevoegen aan de query, maar je moet het (kunt het) niet toevoegen aan het veld Stempelnr. Je moet de veldnaam dus verwijderen uit de regel <Toevoegen aan>.
Samengevat: je voegt het veld [Stempelnr] toe aan de query, zet 'm op Max in de regel <Totaal>, en verwijdert de veldnaam in de regel <Toevoegen aan>.

Die veldinstellingen zijn idd veranderd ;)

<Toevoegen aan> mag niet leeg zijn, wordt dan niet opgeslagen :o
 
Ik heb een testje gemaakt met deze query, en bij mij doet-ie het prima...
Code:
INSERT INTO [Tabel stempel benelux] ( Fichenr, Ordernr, Inkoopnr, Klantreferentie, Fabrikant, [KOT/VKPN (€80,-)], [Transportkosten (€100,-)], Verpakking )
SELECT Fichenr, Last(Ordernr) AS LaatsteOrdernr, Last(Inkoopnr) AS LaatsteInkoopnr, Last(Klantreferentie) AS LaatsteKlantreferentie, Last(Fabrikant) AS LaatsteFabrikant, Last([KOT/VKPN (€80,-)]) AS [LaatsteVanKOT/VKPN (€80,-)], Last([Transportkosten (€100,-)]) AS [LaatsteTransportkosten (€100,-)], Last(Verpakking) AS LaatsteVerpakking 
FROM [Tabel stempel benelux]
WHERE (Fichenr=[Forms]![Formulier stempel benelux]![Fichenr])
GROUP BY Fichenr
Wel moest ik nog wat indexen verwijderen in mijn versie. Maar dat had je zelf al gedaan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan