Avatar billede snej Nybegynder
14. juli 2000 - 00:08 Der er 6 kommentarer

Opdatere Combo Box i formular

I Access2000 har jeg lavet en musikdatabase, hvor jeg har en tabel med kunstnere, og en anden hvor jeg har oplysninger om CD'en.

I en formular har jeg så oplysningerne om CD'en, og i en Combo Box henter jeg så kunstnernavn fra kunstner tabellen.

Hvis jeg så støder på en kunstner som jeg ikke har, kan jeg trykke på en knap, som åbner en ny formular, hvor jeg kan oprette den nye kunstner. Og når jeg som kommer tilbage til den den første formular, så er Combo Boxen ikke opdateret, før jeg har lukket den, og jeg kan ikke få lov til at lukke den, før jeg har udfyldt kunstner feltet, selvom det står som et felt der ikke er nødvendigt.
Avatar billede lkp Nybegynder
14. juli 2000 - 01:46 #1
Hej Snej

Jeg går ud fra, at du bruger VBA til funktionaliteten i din database.

Når du vender tilbage fra den formular, hvor du har oprettet den nye kunstner, skal du bruge combo boxens requery funktion. Hvis din combobox hedder cmbKunstner, skal du kalder flg. funktion:

Me!cmbKunstner.Requery, og comboboksen er opdateret.

Et lille tip. Hvis du ønsker at din database automatisk skal spørge om en evt. nu kunstner skal tilføjes, såfremt kunstneren ikke eksisterer i forvejen, skal du bruge comboboksens NotInList event. En af parametrene til denne event er NewData, der indeholder den nye kunstner.

Med venlig hilsen

LKP
Avatar billede hnteknik Novice
14. juli 2000 - 11:43 #2
hej Snej

Lad mig lige tilføje:

Som ovenfor foretages der en requery umiddelbart efter at din kunstner form er blevet åbnet. Derfor bliver din combo ikke opdateret.

Løsningen er, at åbne din kunstner form som en dialog. Herved suspenderes videre exekvering af kode, indtil du lukker kunstnerformen (med eventuelle rettelser).

Har du rettet i feltet (med et navn, der ikke er i listen) kan du ikke foretage en requery (den fejler).
Derfor skal du nulstille feltet, førend du requerier. Check på instillingen
me.combo.dirty ( den er true, hvis du har fortaget ændringer i feltet).

Håber dette er nyttigt. Jeg er på ferie og er ikke i nærheden af f.eks. kodeeks.

Henrik (fra det liguriske hav)

Håber det regner derhjemme he he
Avatar billede snej Nybegynder
15. juli 2000 - 14:10 #3
Hej lkp

Nej jeg bruger ikke vba i databasen, jeg har bare lavet en knap i min formular, som åbner formularen kunstner. Og en anden knap, som lukker formularen kunstner igen.

Jeg har meget lidt forstand på vba, så jeg kan godt bruge lidt mere hjælp.

Især det med NotInList event, lyder som noget jeg kan bruge, men jeg kan ikke få det til at virke, man skal in i CodeBuilder, men hvad skal man præcis skrive, for at den så opretter en ny kunstner i tabellen kunstnere.
Avatar billede cktarget Nybegynder
25. juli 2000 - 21:40 #4
Hvis du kan SQL, kan du opdatere dine tabeller med  kommandoen docmd.runSQL(\"SQL saetning\")
Avatar billede snej Nybegynder
26. august 2000 - 18:51 #5
Jeg kan heller ikke finde ud af SQL, jeg er meget nybegynder, når det drejer sig om koder generelt, derfor har jeg brug for i det midste et eksempel på hvordan selve koden skal se ud.
Avatar billede jod Nybegynder
31. august 2000 - 11:31 #6
hej

for at opdatere

har du lavet en makro : Requery
husk : control navn

ellers er du velkommen til at sende din database til mig : jonasd@hotmail.com

jeg havde samme problem, men løste det uden brug af vba og sql

Mvh jonas



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