Avatar billede avalon116 Nybegynder
04. april 2004 - 08:47 Der er 3 kommentarer og
1 løsning

værdi ikke på liste

Jeg har en tabel med forskellige fødevarer og deres kalorieindhold. Denne bruger jeg i en formular, hvor jeg kan indtaste dagens forbrug (hvad man har spist). Tabellen bruges i en combo, men man kan også vælge andet end det der er i tabellen. Så vidt så godt.

På baggrund af det valgte i combo'en samt en mængde, som man indtaster i et andet felt, fås i et tredie felt kaloriemængden (idet den tager kalorierne fra tabellen på baggrund af den valgte fødevare).

Men når man indtaster en fødevare der ikke er på listen, skal man 1) enten kunne tilføje fødevaren, eller 2)selv kunne indtaste kalorierne uden at denne fødevare oprettes.

Hjælp?
04. april 2004 - 09:38 #1
Sørg for at egenskaben "Begræns til liste" er sat til Nej

Comboboksens Rækkekilde sættes til en SQL streng med 2 kolonnner: fødevare, kalorimængde
"Select Fødevare, Kaloriemængde fra Fødevaretabel"

På comboboksens EfterOpdatering-hændelse lægges denne kode:
Dim Cal as variant
If isnull(Me!cboFødevare.column(1)) then
    If msgbox("Du har indtastet en fødevare, som ikke findes i tabellen. Ønsker du at oprette fødevaren til brug fremover?",vbquestion+vbyesno, "Opret fødevare?") = vbyes then
        cal = inputbox("Angiv kaloriemængde")
        if cal <> "" then
            docmd.setwarnings false
            docmd.RunSQL "Insert Into Fødevaretabel ( Fødevare, Kalorimængde) Select '" & ME!cboFødevare & "', " & val(Cal)
            docmd.setwarnings true
            Me!cboFødevare.requery
        else
            exit sub
        endif
else
    Cal = Me!cboFødevare.column(1)
endif
Me!kaloriemængde = Cal

PS: Husk at ændre alle navne, så de passer til de respektive felter i tabel og på formular!
PPS: Jeg har kun skrevet koden direkte her. Så der kan opstå mindre fejl/mangler!
Avatar billede avalon116 Nybegynder
04. april 2004 - 10:13 #2
Tak
jeg har to felter der skal med (både cal og en for portionsstørrelsen.
Hvordan skal denne sætning justeres:

    docmd.RunSQL "Insert Into Fødevaretabel ( Fødevare, Kalorimængde) Select '" & ME!cboFødevare & "', " & val(Cal)
Avatar billede avalon116 Nybegynder
04. april 2004 - 10:59 #3
jeg kan ikke få det til at virke. Når jeg forlader feltet med combo'en forsvinder det jeg har valgt?
Avatar billede avalon116 Nybegynder
04. april 2004 - 15:50 #4
Nå nu er den der. Tak for hjælpen.
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