Avatar billede bjjacobsen Nybegynder
19. oktober 2000 - 12:25 Der er 16 kommentarer og
1 løsning

combo boks og forespørgsel

til at starte med vil jeg sige jeg bruger access 2000 engelsk version

Jeg har lavet en forespørgsel over kunder og postnr. Den har jeg så sat ind i en formular som viser alle poster i forespørgslen(begge tabeler). Efter det prøver jeg at sætte en combo box ind hvor man skal kunne hive firmanavnet ned og vælge ud fra alle firmanavne i forespørgslen. men når jeg skal til at vælge hvilket felt jeg vil ha i combo boxen (jeg valgte firmanavne)kommer den frem med følgende fejl; syntax error in query expression´[SELECT [Kunder]].[Kundenr]...
Jeg har fået det til at virke hvis jeg laver det over en tabel men så kan jeg ikke få postnumrene med. Er der nogen der ved hvad der kan være galt?
Avatar billede uffe_kld Nybegynder
19. oktober 2000 - 12:56 #1
Der er et eller andet galt der skal stå:

SELECT [Kunder].[Kundenr]....

der er altså et hold [] for meget

prøv at gå ind i properties på combo-bosken og check query under row source.
Avatar billede bjjacobsen Nybegynder
19. oktober 2000 - 13:07 #2
Det står også som det skal inde i sql koden i forespørgsel uden nogle []klammer. når jeg laver combo boxen som tabel i stedet i stedet for forespørgsel kører det også fint. Ved du om det er muligt at lave 2 tabeller istedet for 1 forespørgsel?
Avatar billede region Nybegynder
19. oktober 2000 - 23:09 #3
hvad hedder dine tabeller og din forespørgsel.

Jeg tænker her på om opslaget via SQL skal defineres op mod din forespørgsel og ikke din tabel.

Du skulle måske også prøve at sætte en WHERE clausul på.

altså noget med SELECT bla bla fra FROM Query Bla Bla...WHERE [firmanavn]= COMBOBOX 1.

Jeg går ud fra at din combo slår værdierne op i en af dine tabeller...
Avatar billede region Nybegynder
19. oktober 2000 - 23:15 #4
Dette er et udsnit af en af mine gamle databaser kvag af det jeg lige har kommenteret..læg mærke til WHERE delen...

SELECT analyse.elnr, analyse.tekst, analyse.antal, analyse.liniepris, analyse.[liniepris-ny], analyse.[fakt nr], analyse.[fak dato], analyse.[stk pris], analyse.kontonr
FROM analyse
WHERE (((analyse.elnr) Like [Forms]![Formular1]![Kombinationsboks0])
Avatar billede region Nybegynder
19. oktober 2000 - 23:17 #5
øhhh for mange parenteser fordi mit oprindelige statement er længere end det der her er angivet...


WHERE (analyse.elnr) Like [Forms]![Formular1]![Kombinationsboks0])
Avatar billede bjjacobsen Nybegynder
20. oktober 2000 - 10:18 #6
Mine tabeller hedder
KUNDER (kundenr, firmanavn, kontaktperson, adresse, postnr, telefonnr, email, opretdato)
POSTBY (postnr, bynavn)

Så laver jeg en forespørgsel ved hjælp af de 2 tabeller og tager alle poster fra kunder
og bynavn fra postby. Forespørgslen kalder jeg QKUNDER.

Derefter laver jeg en formular med wizarden over QKUNDER; vælger at se den \"by kunder\"
så der ikke kommer nogen subform eller underformular, og kalder den formular for FKUNDER.

Nu er formularen fkunder oprettet og jeg går ind i den for at oprette en combobox;
jeg vælger den funktion der finder en post baseret på hvad jeg vælger i comboboxen;
derefter skal jeg vælge hvilket felt der skal stå i comboboxen og vælger Firmanavn,
det er her fejlen opstår med Syntax error in query expression [SELECT [kunder]].[Kundenr]

Hvis jeg laver det samme bare med en enkelt tabel istedet virker det fint, men
når jeg skal lave det over en forespørgsel over 2 tabeller kan den ikke...
Avatar billede bjjacobsen Nybegynder
20. oktober 2000 - 12:46 #7
Hvis det er der er nogen der har et svar til på mandag ville det være cool. weee weekend
Avatar billede region Nybegynder
20. oktober 2000 - 22:24 #8
det er netop det..!!!

det er faktisk enkelt herfra...

åbn QKUNDER i design.
under kriteriefeltet for det felt du ønsker opslag på skriver du.

Like [Forms]![FKUNDER]![Kombinationsboks0]

i din formular skal du selvfølgelig sikre dig at komboboksen hedder 0 ...ellers skal dette rettes i din Query.

under egenskaber for denne komboboks skal denne lave opslag i tabellen hvor dit søgefelt indgår.

husk at lave en update at billedet efter du har valgt søgekriterie.

DANSK : vis alle poster
Engelsk : show all records.

Denne update køres \"ved klik\" på din combo..
Avatar billede region Nybegynder
20. oktober 2000 - 22:26 #9
du skal også huske at have dine relationer i din query rigtige. Alt efter hvilke værdier du har i dine tabeller bør relationen være en-til-mange.
Avatar billede bjjacobsen Nybegynder
23. oktober 2000 - 09:06 #10
jeg tror jeg har gjort alt rigtigt nu, men når jeg vil vælge et af firmanavnene i dropdown boxen er det eneste der kommer frem kundenumre; hvis jeg så vælger et, erstatter den firmanavnet med kundenumret nede i formularen.
Kan det være pga. at kundenummer er en primærnøgle? og hvis ikke hvad er det så?
Avatar billede region Nybegynder
23. oktober 2000 - 11:27 #11
under egenskaber for din drop down boks skal du sætte værdierne for bredden til 0;2,54 derved skjuler du den første kolonne.

dernæst skal du sikre at din \"bundet kolonne\" er angivet til firmanavn og ikke kundenummeret.

typisk vil bundet klonne være = 1 eller 2
( under fanebladet DATA kan du under CONTROL SOURCE se din SQL over komboens opslag. her kan du dermed også se hvilken kolonne der er bundet til den.)

Det er klart at såfremt dn query forventer at få et firmanavn men får et kundenummer serveret fra din kombo er der ingen relation..


send evt. basen pakket i 97 version til nt@solar.dk så vil jeg se på den.

når du får den igen konverterer den bare til Acc 2000 igen men bibeholder ændrede data..
Avatar billede bjjacobsen Nybegynder
23. oktober 2000 - 11:49 #12
\"bundet kolonne\" er det den der hedder bound column? der står i øjeblikket 1
Avatar billede bjjacobsen Nybegynder
23. oktober 2000 - 12:41 #13
Like [Forms]![FKUNDER]![Kombinationsboks0]
min combobox hedder Combo18
så jeg skriver
Like [Forms]![FKUNDER]![Combo18]
? eller skal der stå noget andet istedet for forms?
Avatar billede region Nybegynder
23. oktober 2000 - 12:48 #14
ja det er bound colunb...

og nej der skal ikke stå andet idet du netop beskriver den således
Like [Forms]![FKUNDER]![Combo18]
FORMS = dette betyder bare at  det er en formular
![FKUNDER] = angiver hvilken formular der er tale om
![combo18]= er det fulde nav på din comboboks

hvis denne hedder comboboks 18 skal du selvfølgelig skrive dette istedet..
Avatar billede region Nybegynder
23. oktober 2000 - 12:49 #15
husk nu at denne sætning skal stå i kriteriefeltet i din forespørgsel.
Like [Forms]![FKUNDER]![Combo18]
Avatar billede region Nybegynder
23. oktober 2000 - 13:42 #16
øhhh du har accepteret uden at fortælle om det virkede...du har vel ikke givet op ?????
Avatar billede bjjacobsen Nybegynder
23. oktober 2000 - 13:43 #17
WOHOO det virker :o) alt for godt! tog det som du sagde og sammenlignede med den combobox der virkede med kun 1 tabel. helt sikkert :o)
mange mange tak :o)
jeg har også et andet spørsgmål igang, det er en fortsættelse af denne tabel i samme formular
http://www.eksperten.dk/spm/29894
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