Formulierprobleem (kan geen titel bedenken..)

Status
Niet open voor verdere reacties.
Geen reactie, zal wel door mijn uitleg en het onderwerp komen. Ben al iets verder dus hier poging 2:

Ik wil graag bij een formulier een aantal velden overnemen als ik een nieuw record aanmaak. Ik las ergens iets over OpenArgs maar ik werk hier maar met 1 formulier ipv meerdere.

Het formulier haalt gegevens uit een query, zodra men het formulier opent komt er een vraag met "voer fichenummer in" als dit is gedaan worden een aantal gegevens automatisch ingevuld maar ik wil meerdere "formulieren" per "fichenummer" in kunnen vullen dus moet bij een nieuw record een aantal gegevens over worden genomen. Keuzelijst lijkt me geen optie omdat het veel nummers zijn.
 
Laatst bewerkt:
Schrijfblok,

Maak een kopie van je database.
Haal alle tabellen, formulieren en query's die er niet toe doen eruit.
Laat in de tabellen enkele records staan.
Comprimeer en herstel deze database en zip hem.
Zet hem dan als bijlage in je volgende bericht.

Ik ben bang dat er anders geen reactie meer komt.

Groeten, Paul
 
Je probleemomschrijving is nog steeds een beetje vaag, maar ik zal toch proberen je een beetje de goede kant op te duwen.
Ik las ergens iets over OpenArgs maar ik werk hier maar met 1 formulier ipv meerdere.
Dat is ook precies de bedoeling van OpenArgs: je geeft gegevens mee bij het openen van een nieuw formulier. Dat kan één veldwaarde zijn (standaardinstelling) of met een trucje meerdere waarden.
maar ik wil meerdere "formulieren" per "fichenummer" in kunnen vullen dus moet bij een nieuw record een aantal gegevens over worden genomen.
Nu wordt het wat verwarrend: wil je nu wel of niet meerdere formulieren openen? Ik vermoed, dat je meerdere records binnen hetzelfde formulier wilt kunnen aanmaken, op basis van de gegevens die je uit het eerste formulier overneemt. Hiervoor geldt dat je dat nog steeds via OpenArgs kunt doen, maar het wordt dan wel iets ingewikkelder.

Standaard neem je met OpenArgs, zoals ik eerder al zei, één waarde mee naar het nieuwe formulier. Als je meerdere gegevens wilt overhalen, zul je die dus in de OpenArgs als één string mee moeten geven, en die string op het tweede formulier weer splitsen in de losse gegevens. Meestal doe ik dat door de gegevens samen te voegen met een symbool, en de string op basis van dat symbool in een matrix variabele te splitsen. Dat ziet er dan ongeveer zo uit:
Code:
sOpenArgs="Waarde1|Waarde2|Waarde3|Waarde4|Waarde5"
Deze string geef je mee bij de OpenArgs parameter van het OpenForm commando. Op het formulier maak je dan deze routine bij het Load event:
Code:
If Not Nz(Me.OpenArgs,"")="" Then
     sArgs=Split(Me.OpenArgs)
     Me.txtVeld1=sArgs(0)
     Me.txtVeld1=sArgs(1)
     Me.txtVeld1=sArgs(2)
     Me.txtVeld1=sArgs(3)
     Me.txtVeld1=sArgs(4)
End If
Dit voorbeeldje zet dus 5 verschillende waarden in één record. Als je meerdere records wilt maken, zul je meerdere strings moeten maken, die je ook weer splitst. Je moet die recordstrings dan baseren op een ander scheidingsteken.
 
Zo vakantie achter de rug, allemaal nog de beste wensen ;)

Allereerst hierbij een gestripte versie van de database om het wellicht wat duidelijker te maken. Dit is nog niet eens 3% van het origineel dus let niet op de rare benamingen en het hoeveelheid subformulier e.d. :p

@Octafish ik zal het even uitleggen n.a.v. de bijgevoegde database
Als je de database opent en klikt op de Stempelblad optie moet je een fichenummer ingeven. Voer hier 15000 in. Je ziet nu dat er een aantal gegevens automatisch ingevuld worden (afkomstig uit verschillende tabellen). Als je nu de overige velden invult krijgt het formulier automatisch een stempelnummer en worden deze gegevens opgeslagen in de tabel stempel benelux. Ik wil dus eigenlijk meerdere stempelbladen/records (met een eigen stempelnummer, is autonummering dus lijkt me geen probleem) voor het fichenummer 15000 kunnen aanmaken.
 

Bijlagen

Laatst bewerkt:
Als ik je aanwijzing opvolg, en een waarde invoer (bijvoorbeeld een ordernummer) krijg ik een stempelnummer in beeld (nummer 1). Wat is nu verder de bedoeling? Want het is nog steeds niet duidelijk...
Ik wil dus eigenlijk meerdere stempelbladen/records (met een eigen stempelnummer, is autonummering dus lijkt me geen probleem) voor het fichenummer 15000 kunnen aanmaken.
Hoeveel stempelbladen bijvoorbeeld..... En waar moeten ze verschijnen? Ik zie geen tabbladen voor extra bladen.
 
Ik ook met mijn "bladen" maakt het alleen maar onduidelijker...

Ik bedoel gewoon meerdere records per fichenummer dus bijv. fichenummer 15000 met stempelblad 10, 22 en 26. Ik kan er nu maar 1 per fichenummer maken, maar ik wil dus als ik op nieuw record klik de standaard gegevens van fichenummer 15000 blijven staan (die uit de tabellen fiches, producten e.d. komen) en ik weer de lege velden van dit formulier kan invullen.

edit: lijkt me ook dat er ergens een relatieprobleem zit (en vast nog meer fouten..) want het fichenummer is van het type autonummering en mag in de tabel fiches geen duplicaten hebben....
 
Laatst bewerkt:
Validatieregel

Schrijfblok,

Even apart van dit onderwerp.
Kreeg een bericht van jou over validatieregel.

Heb eenvoudig voorbeeld bijgevoegd.

Groeten, Paul
 

Bijlagen

Schrijfblok,

Even apart van dit onderwerp.
Kreeg een bericht van jou over validatieregel.

Heb eenvoudig voorbeeld bijgevoegd.

Groeten, Paul

Tot zover hadden we al ;)

Het probleem is dat je nu die "13" of "6" niet kunt veranderen in een lager getal

On-topic: heb geprobeerd met een keuzelijst van fichenummer uit de tabel fiches maar dat is een autonummering veld en ik krijg dan als ik een keuze wil maken de melding "is afhankelijk van een waarde uit de tabel fiches blablablabla"
 
Deze versie is wat beter.

Alleen krijg ik die van jouw niet werkend :confused:

Zal er wel mee te maken hebben dat de txtBesteld waarden bij een fichenummer horen (wat ook een veld is in die tabel) Zie ook de database die ik in dit topic al eerder bijgevoegd heb.

Ik zou trouwens ook heel heel heel graag hulp willen hebben bij de vraag van dit topic want ben er nu al dagen mee bezig en krijg het niet werkend, heb het idee dat heel makkelijk is maar ik door de bomen het bos niet meer zie.
 
Laatst bewerkt:
Wat bedoel je met:
Alleen krijg ik die van jouw niet werkend
Doet-ie het helemaal niet, of krijg je de oplossing niet werkend in jouw db?
 
OK, en wat wil je nu precies? Als ik Fichenr 15000 open, zie ik een record met van alles en nog wat. Waar wil je een kopie van hebben?
 
OK, en wat wil je nu precies? Als ik Fichenr 15000 open, zie ik een record met van alles en nog wat. Waar wil je een kopie van hebben?

Ik wil 2 records met fichenummer 15000 in Tabel stempel benelux met verschillende gegevens d.m.v. het Formulier stempel benelux in te vullen.
 
Laatst bewerkt:
Maar welke verschillende gegevens moeten dat zijn? Als je een kopie maakt van het huidige record, zijn de gegevens hetzelfde, en dat wil je neem ik aan niet.
 
Maar welke verschillende gegevens moeten dat zijn? Als je een kopie maakt van het huidige record, zijn de gegevens hetzelfde, en dat wil je neem ik aan niet.

Mag best hetzelfde zijn als ik de gegevens die in de tabel stempel benelux worden opgeslagen maar kan wijzigen op het formulier, dus de lege velden als je fichenr 15000 opzoekt.

Ik bedenk me net dat het eenvoudig opgelost kan worden door een knop die het record dupliceerd maar wel de autonummering van stempelnr laat doorlopen (dat zal wel automatisch gaan neem ik aan)?
 
Laatst bewerkt:
Die richting zit ik inderdaad te denken. Enige probleem: je formulier is gebaseerd op 3 tabellen, en je hebt in de bron niet de velden gebruikt, maar het asterixje. En dat betekent dat je dus niet zomaar een record kan dupliceren. Ookal omdat je met Outer Joins werkt op het formulier (overigens ten onrechte...) en niet in één keer in 3 tabellen tegelijk kunt toevoegen. Je moet dus één tabel kiezen waarin je de records toevoegt, met de gewenste velden, en de gekoppelde tabellen later vullen.
 
Die richting zit ik inderdaad te denken. Enige probleem: je formulier is gebaseerd op 3 tabellen, en je hebt in de bron niet de velden gebruikt, maar het asterixje. En dat betekent dat je dus niet zomaar een record kan dupliceren. Ookal omdat je met Outer Joins werkt op het formulier (overigens ten onrechte...) en niet in één keer in 3 tabellen tegelijk kunt toevoegen. Je moet dus één tabel kiezen waarin je de records toevoegt, met de gewenste velden, en de gekoppelde tabellen later vullen.

Maar alleen het record uit de tabel stempel benelux hoeft gedupliceerd te worden. Ik heb net handmatig het record in de tabel stempel benelux gedupliceerd, als ik dan het formulier open en zoek op fichenummer 15000 kan ik gewoon met de navigatieknoppen tussen de records bladeren. Dat is opzich al goed, nu nog automatisch het geopende record met een knop dupliceren en naar het nieuwe record gaan ;)
 
Laatst bewerkt:
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.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan