Avatar billede fastwrite Nybegynder
07. juni 2002 - 13:16 Der er 21 kommentarer og
1 løsning

fakturanummer - underformular - relationsproblemer

Jeg prøver igen.

Jeg har en DB med 2 tabeller, tbl_projekt og tbl_faktura

i tbl_projekt har jeg en projektID (autonummerering) og andre relevante datafelter (kundenavn o.lign.)

i tbl_faktura heg jeg en fakturaID (autonummerering) og datafelter som betalingsvilkår, timepris, stkpris o.lign.

Nu vil jeg gerne have en formular, hvor jeg henter kundeoplysningen fra tbl_projekt, og underformularen skal hente data fra tbl_faktura - men hvordan får jeg den til at tildele et fakturanummer, og hvordan kan jeg skrive flere linier i underformularen? (det er noget med at det kræver et enslydende felt i tbl_projekt og tbl_faktura)
Avatar billede susanne_larsen Nybegynder
07. juni 2002 - 14:06 #1
du har brug for en 3. tabel der samler dine 2 tabeller. Du kopierer så P-nøglerne fra tbl_projekt og tbl_faktura og i din nye tabel

tblKundefaktura:

produktID
fakturaId

begge nøgler bliver så P-nøgler i din nye tabel

kan dog ikke helt forstå hvorfor du registrerer kunden i tbl_projekt - ville det ikke være mere relevant at splitte den op i 2 så du har en seperat kundetabel - dvs du ender med 4 tabeller

ex tblKunde
kundeID
navn
adresse
osv

så kommer tblKundeFaktura til at se således ud

kundeID
produktID
fakturaId

på den måde kan du relativt let vha en forespørgsel fastlægge hvilken kunde der har købt hvilke produkter under hvilket fakturanr.....
Avatar billede susanne_larsen Nybegynder
07. juni 2002 - 17:03 #2
sorry det må sgi vær varmen.....

3 tabeller er fint
- oki foreslår flg

tblKunde
KundeID
navn
adresse
osv

tblProjekt
projektID
navn
osv

tblKundeFaktura
FakturaID (autonr)
ProjektID
KundeID
osv

+ selvfølgelig den obligatoriske tblPostBy

så opretter du 2 forespørgsler

alle data fra tblKunde - opretter en formular på disse info
alle data fra tblKundeFaktura. Skift til designvisning i din nye formular og opret en underformular hvor du bruger data fra din sidste forespørgsel.
Avatar billede fastwrite Nybegynder
07. juni 2002 - 20:49 #3
Hej Susanne - jeg har også tænkt lidt på samme konfig som du foreslår - og hvis jeg er mere end en der har tænkt denne, må den jo være god nok :o) Jeg har sådan flere tabeller, det var bare for overskuelighedens skyld at jeg kun nævnte de to af dem. Resten har jeg nogenlunde styr på.

Jeg prøver lige løsningen i aften...

Jeg takker for dit foreslag - men venter lige med at dele point hvis det er i orden med dig.
Avatar billede susanne_larsen Nybegynder
07. juni 2002 - 21:18 #4
helt fint med mig

- du skal da absolut ikke give point før du har fået en løsning du kan bruge :D
Avatar billede susanne_larsen Nybegynder
10. juni 2002 - 11:43 #5
fastwrite>> har du fundet en løsning på dit dB problem??
Avatar billede pato Nybegynder
12. juni 2002 - 01:13 #6
Spørg lige...Er dine faktura opdelt i ydelser, eller er hver faktura en sammensætning af ydelser på en linie?...for så har du reelt et niveau mere
projekt
kunde
faktura
ydelser

du vil vel ikke udskrive en fakture for hver ydelse eller hvad?

hvis du vil bruge ydelser (kørsel, timer,stk m.m.) på en faktura...kan jeg evt. foreslå at benytte et faneblads system, hvor du for et projekt har faneblade for:
ydelser, faktura, kunder

jeg har selv udviklet et sådan.....og det giver et godt overblik :-)

m.v.h.
Pato
Avatar billede fastwrite Nybegynder
13. juni 2002 - 00:36 #7
Mit problem er ikke helt løst.. problemet kommer når jeg skal skrive flere fakturalinier i min faktura-formular.

pato - jeg har først min ordre-formular, hvor jeg taster ind løbende når jeg har været hos en kunde. Det foregår som en slags historik. Når jeg er færdig hos kunden, trykker jeg på en knap, der fører mig direkte over i faktura-formularen - denne formular indeholder kundenavnet (som jeg havde oprettet fra ordre-formularen), men problemet kommer i min underformular - for jeg kan ikke skrive mere end en linie.
Avatar billede susanne_larsen Nybegynder
13. juni 2002 - 13:15 #8
må kunne klares vha forespørglser, hvis jeg forstår dit spørgsmål rigtigt.

ex du opretter en forespørgsel baseret på baggrund af tblKunde. Ud fra den forespørgsel opretter du en formular.

Så opretter du endnu en forespørgsel baseret på tblKundefaktura evt med lidt indhold fra tblProjekt. Denne forespørgsel skal danne baggrund for en underformular på din kundeformular.

På den måde kan du se kundeinfo i hovedformularen og de projekter der er kørende på underformularen..... Samt selvfølgelig tilføje, slette overføre osv til fx rapport. Kræver selvfølgelig lidt programmering, knapper osv...
Avatar billede susanne_larsen Nybegynder
13. juni 2002 - 18:04 #9
>>fastwrite
sorry jeg havde ikke læst dit seneste svar ordentligt...

kan du ikke nævne de felter der indgår i den forespørgsel du har baseret din formular på

ex KundeID fra tblKunde osv...

fejlen må ligge i din forespørgsel, da det skal kunne lade sig gøre at oprette mere end en faktura på samme kunde....
Avatar billede pato Nybegynder
13. juni 2002 - 18:34 #10
Har du en til mange relation mellem tabellerne???
Avatar billede pato Nybegynder
13. juni 2002 - 18:39 #11
og er din underformular en "Fortløbende formularer" ???
Avatar billede fastwrite Nybegynder
14. juni 2002 - 01:27 #12
Jeg er nu kommet så langt at jeg i min underformular kan lave flere linier, baseret på projektID som ligger i formularen F_faktura.

MEN - i min forespørgsel (der skal bruges af F_faktura) viser den ganske rigtigt mit projektID (som jeg i sin tid oprettede ud fra min F_projekt), men den viser ikke et fakturaID (som er en autonummerering - hentet fra tabellen tbl_faktura) - hvordan kan jeg i min formular få den til at oprette et fakturanummer - når den kan se at projektet eksisterer?

(takker for jeres store hjælp!!!!)
Avatar billede pato Nybegynder
14. juni 2002 - 01:42 #13
hvis det er et autonummer...bliver det automatisk oprettet når du laver en linie. Det kan godt være du ikke har medtaget feltet i din formular.

har du brugt en guide?

du kan evt. sende databasen...så skal jeg rette det.
Avatar billede fastwrite Nybegynder
14. juni 2002 - 01:55 #14
pato - du kan hente den her ftp.tsmedia.dk" target="_blank">ftp://eksperten:eksperten@ftp.tsmedia.dk - ligger i skuffen access

problemet er at når jeg går ind i formularen frm_fakturaspecifik opdaterer den ikke med fakturanummeret.

Men prøv at kigge på den.
Avatar billede fastwrite Nybegynder
14. juni 2002 - 02:09 #15
I andre må naturligvis også gerne hente den, og se om I kan hjælpe mig - jeg afsætter gerne flere point!
Avatar billede fastwrite Nybegynder
14. juni 2002 - 03:49 #16
Jeg tror jeg dropper det autonummerering - det er for usikkert - der kommer nemt huller i fakturaforløbet. Jeg ved at man kan bruge en DMAX funktion til at hente den seneste værdi og plusse med en, men hvor sætter jeg denne kommando ind henne?
Avatar billede pato Nybegynder
14. juni 2002 - 13:05 #17
Ja du skal selv genererer dind faktura numre...så bilver de fortløbende som T&S vil have dem.

Det er også problemet med selve databasen...jeg mener dine forespørgsler..de er ikke helt korrekte. og på faktura billedet skal fakturaen gemmes før du kan tilknytte liner.

jeg syntes at det er en lidt uoverskuelig måde du fakturerer på. ikke din forretningsgang men dit interface.

Jeg koder altid selv mine knapper m.m. for jeg synte at access's generelle metoder (bladre knapper m.m.) altid giver mulighed for bruger fejl....det er ikke låst nok. og man skal passe lidt på når det drejer sig om fakturering - syntes jeg

Har du eget firma?

Jeg har selv udviklet mit fakturerings system i access, men jeg har brugt en lidt anden fremgangs måde:

1) opret kunde
2) opret projekt til kunden
3) opret ydelser til projekter med valuta, moms, kategorier m.m.
4) lav faktura, hvor jeg vælger hvilke ydelser jeg ønsker at medtage på den aktuelle faktura.
Fakturaen bliver gemt i en snapshot fil,(en kopi på disken) så jeg altid kan finde den frem som den så ud da jeg genererede den.
5) generer girokort der passer med bankens færdig trykte girokort og forbind dem til fakturen
6) registrer betaling af faktura
7) har ligeledes mulighed for at flette med word og genererer breve tilbud m.m.

det hele er lavet med faneblade ...dvs. når jeg står på en kundes projekt...kan jeg se alle ydelser alle faktura eller dokumentation på aktuelle projekt.

Hvis jeg var dig ville jeg kigge på bruger interfacet ikke kunne laves lidt anderledes 

Jeg vil meget gerne hjælpe dig...

Pato
Avatar billede fastwrite Nybegynder
14. juni 2002 - 17:21 #18
Pato - jeg takker for din store hjælp!! Det er virkelig dejligt.

Ja, jeg har eget firma, og har hidtil brugt word som fakturering - men det var ikke specielt optimalt. Din løsning med hvor man gemmer fakturaen som en fil, og senere kan hente den samme frem igen, er rigtig god. Hvordan lægger du din fil ud? Gemmer du oplysningerne i et word-dokument, eller?`

Min e-mail er info@tsmedia.dk - hvis vi skal snakke videre. - da jeg sådan set har løst problemet...
Avatar billede pato Nybegynder
14. juni 2002 - 22:03 #19
har du msn?
Avatar billede pato Nybegynder
14. juni 2002 - 22:06 #20
Det glæder mig at du fik løst problemet... det er lidt svært her at gennemskue hele dit program. Stadig mener jeg at der er ting du bør lave yderligere om


med venlig hilsen

Pato
Avatar billede fastwrite Nybegynder
15. juni 2002 - 03:42 #21
Jeg giver susanne pointene, da hun er den eneste der har svaret - og jeg kunne også bruge en del af hendes svar. Jeg håber det er i orden med jer andre, som også har været en STOR hjælp!!!!

Nu skal jeg i seng!
Avatar billede susanne_larsen Nybegynder
15. juni 2002 - 10:50 #22
>>fastwrite øhh thnx I guiss

men øhh hvad med pato var det ikke der du fik den endelige hjælp til løsning af dit prob ???
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester