05. juni 2002 - 04:07Der er
3 kommentarer og 3 løsninger
Formularer og underformular
Jeg har 2 tabeller (projekt og faktura). I min projektfaktura skriver jeg forskellige oplysninger. I min faktura-tabel har jeg en fakturaid autonummerering (som skal give sig ud for at være fakturanummeret).
Så længe projektet kun er et projekt, skal der ikke ske noget, men når jeg vil lave projektet om til en faktura, har jeg en formular (f-01) hvor jeg har samlet faktura tabellen og projekt-tabellen, og i f-01 har jeg også en underformular, hvor jeg kan taste oplysninger ind som priser o.lign.
Problemet er hvordan jeg får f-01 til at angive et fakturanummer, og at jeg kan skrive flere linier i underformularen.
Jeg er træt - klokken er mange, og måske kan mit spørgsmål skrives mere enkelt :o)
Jeg har tidligere lavet noget lignende. Tanken er, at en kunde ringer og vil have sammensat en PC, ud fra de komponenter der er på lager. I en formular, kan du ved hjælp af kombinationsbokse sammensatte PC'en, så den passer til kundens behov. Når kunden således har accepteret sammensætningen, og der skal oprettes et bindende tilbud, trykkes på en kommandoknap, og følgende kode køres. Den opdaterer tabellen "Tilbud" med du data, som du har fundet frem til i formularen "Sammensæt". Herefter kan tilbudet udskrives, ved tryk på en anden kommandoknap, der sender data til et Word-dokument.
Da min kammerat alligevel ikke var interesseret, blev det aldrig lavet helt færdig. Men du må gerne få db(Access97), men det burde også fungere i 2000. Blot læg din e-mail.
Dim Rst As Recordset, Db As Database Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("Tilbud") With Rst .AddNew .Fields![Kundenr] = Kundenr .Fields![CPU] = CPU .Fields![TilbudCPUpris] = CPUpris .Fields![Ordrenr] = Ordrenr .Update End With MsgBox "Komponenterne er nu sammensat til et tilbud"
Hmm, jeg er ikke helt sikker på at jeg forstår problemet.
Men normalt har man en fakturatabel, som indeholder FakturaID, dato, kundeID m.m Derudover har man en fakturalinie-tabel, som indeholder FakturaID (fremmednøgle), beskrivelse, antal, pris m.m.
FakturaID bør IKKE være autonummering, da der alt for let opstår huller i rækkefølgen. Huller opstår hvis man fejlagtigt har oprettet en faktura, som efterfølgende bliver slettet. Der opstår også huller hvis du bare begynder at oprette men fortryder inden posten er gemt - så er nummeret brugt. Derfor er det bedre at beregne det næste FakturaID med denne formel: DMax("FakturaID", "Faktura") + 1
Når du skal lade et projekt overgå til en faktura, skal du derfor lave noget kode som opretter en post i fakturatabellen og medtager de relevante oplysninger.
Men du må prøve at forklare din opsætning lidt nærmere.
well I agree with Thomas, its not easy to understand what your problem is but I think that all you need is an extra table for your "faktura" detail lines. This is for the actual goods sold and price etc. The table should have FOR EXAMPLE: Unique ID (autonumber) foreign key (look up) to FakturaID and price. Also what ever else you want.
Thomas - du er inde på noget af det jeg søger. Jeg vil prøve din formel, men hvad kode skal jeg skrive for at den indsætter den næste record når jeg nu laver projektet til en faktura?
ok - mugs - send den til info@tsmedia.dk - takker for hjælpen.
Jeg giver jer andre point, for jeg er sikker på at I nok skal hjælpe hvis nu det ikke virker!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.