Avatar billede dla Praktikant
28. januar 2004 - 12:50 Der er 14 kommentarer og
1 løsning

VedIkkePåListe problem

I forlængelse af mit spørgsmål i går, se http://www.eksperten.dk/spm/457577 har jeg et nyt problem. Jeg vil gerne kunne tilføje nye kunder og kontaktpersoner ved hjælp af en VedIkkePåListe hændelse. Det går fint med kunden, men hvordan får jeg tilføjet nye kontaktpersoner til de rigtige kunder?
Jeg bruger denne kode ved kunde-comboboxens VedIkkePåListe hændelse:

    Response = acDataErrContinue
    Prompt = "Denne kunde står ikke på listen, vil du tilføje den?"

    If MsgBox(Prompt, vbYesNo, "Kunden findes ikke!") = vbYes Then
        DoCmd.RunSQL "INSERT into tblKunder (Kunde) VALUES ('" & NewData & "')"
        DoCmd.RunSQL "INSERT into tblKundekontakt (Kunde) VALUES ('" & NewData & "')"
        Response = acDataErrAdded
    End If

Så står det nye kundenavn både i kunde-tabellen og kundekontakt-tabellen. Men hvad så?
Jeg har lavet en kundeformular med en underformular med kontaktpersonerne, den kan måske bruges?
Avatar billede hubs Nybegynder
28. januar 2004 - 13:05 #1
Du kan sagtens bruge din kundeformular med underformular i stedet...

En mulighed ville være at ved 'vbYes' så åbner du den formular så kan brugeren indtaste de nødvendige informationer...
Avatar billede dla Praktikant
28. januar 2004 - 13:25 #2
Det har jeg også prøvet på, men jeg kan ikke få det til at virke. Når jeg trykker ja til spørgsmålet om jeg vil tilføje kontaktpersonen, åbner formularen men samtidig kommer der en Access meddelelse: Den tekst du indtastede er ikke et element på listen. Jeg trykker OK, tilføjer min kontaktperson, lukker formularen, men når jeg vil gå videre til næste felt spørger den igen om kontaktpersonen skal tilføjes, jeg trykker ja, formularen åbner, men personen er allerede blevet føjet til listen. Jeg lukker formularen og så kan jeg gå videre. I øvrigt ville jeg gerne have det til at virke sådan at når jeg åbner kundeformularen, tilføjer den selv det indtastede navn i underformularens nye post.
Avatar billede dla Praktikant
28. januar 2004 - 13:26 #3
Det ville også være fint, hvis jeg helt slap for at se kundeformularen, og det bare gik automatisk...
Avatar billede hubs Nybegynder
28. januar 2004 - 14:43 #4
Lige for at for det på det rene så skal du have tilføjet en nye kunde med et vist antal kontaktpersoner tilknyttet... er nogenlunde korrekt eller er jeg helt galt i byen :o)
Avatar billede hubs Nybegynder
28. januar 2004 - 14:45 #5
...og den "nye" kunde skal kun tilføjes hvis den ikke allerede eksistere i DB'en
Avatar billede dla Praktikant
28. januar 2004 - 14:52 #6
Yeps, det er helt rigtigt. Jeg har en kunde-combobox som jeg godt kan tilføje nye kunder i, og en kontaktperson-combobox som jeg ikke kan finde ud af at tilføje navne i. Bruger jeg INSERT INTO vil den tilføje navnet i en ny post, det skal den jo ikke, men skrive det posten med den kunde jeg har vagt i kunde-comboboxen. Derfor tænkte jeg at det måske var nemmere at åbne kundeformularen, men det kan jeg heller ikke få til at fungere rigtigt. Blev du klogere?
Avatar billede hubs Nybegynder
28. januar 2004 - 14:58 #7
yup :o) Der er sikkert tusindvis af smarte måder at gøre det på :o) Jeg har selv gjort noget ligende det du prøver, hvor jeg netop åbner en ny "indtastnings formular" hvis pågældende navn ikke eksistere... og det virker helt fint. Så mit råd til dig er at droppe din INSERT linie og laver en ny formular som kun bruges til at indtaste en ny kunde med alt hvad dertil hører...

Hvilken version access bruger du forresten??
Avatar billede dla Praktikant
28. januar 2004 - 15:07 #8
Jeg bruger Access 2002, men DB’en er lavet i Access 2000 filformat, da ikke alle brugere har 2002.

Jeg kan også godt få den til at åbne min kundeformular hvis personen ikke står på listen, men problemet er som ovenfor beskrevet at jeg skal igennem det 2 gange før den har fundet ud af at navnet er blevet tilføjet. Og så den dumme besked fra Access om at ”Den tekst du indtastede er ikke et element på listen”. Det er sikkert bare en lille dum detalje, men hvilken???
Avatar billede hubs Nybegynder
28. januar 2004 - 15:09 #9
Hvis det er kan du evt. lige sende den til mig, så skal jeg nok kigge på den

jacob.simonsen@rockwool.com
Avatar billede dla Praktikant
28. januar 2004 - 15:20 #10
Tak skal du have - er sendt.
Avatar billede hubs Nybegynder
28. januar 2004 - 15:25 #11
Modtaget :o)
Avatar billede terry Ekspert
28. januar 2004 - 18:52 #12
dla>If you ask me the program logic is wrong!
Having a Kunde does NOT mean that you also have a kundekontakt, so you should NOT create a new kontakt here. On your Kunde formular you enter the data for the kunde and if it isnt found you create it. Then in the sub form (kundekontakt) you can now enter information on the kundekontakt!
Avatar billede hubs Nybegynder
29. januar 2004 - 09:36 #13
Så skulle der være en løsning på vej tilbage
Avatar billede dla Praktikant
29. januar 2004 - 10:00 #14
Tak Terry, men Jacob har sendt en perfekt løsning til mig, så han får pointene. Tak, Jacob!
Avatar billede hubs Nybegynder
29. januar 2004 - 10:02 #15
No problem :o)
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