Avatar billede per2edb Praktikant
17. december 2007 - 22:00 Der er 16 kommentarer og
2 løsninger

kombinationsbox med et SQL Select skal have en værdi fra et felt

Jeg har en underform med navnet: Tilbud UFrm
Jeg har på underformen en kombinationsbox med et SQL kald:
SELECT .....  WHERE [Leverandør].FirmaId=[LeverandørId]
på samme underform har jeg et felt med navnet : LeverandørId

LeverandørId skal tilknyttes SQL men det virker ikke.

Kan i hjælpe med at sætte det rigtigt op- altså FirmaId=[LeverandørId]

Jeg kan ikke finde ud af alle disse Me, Forms, []. ! hvordan
og hvornår de bruges. Har i et sted hvor der står noget om dette på dansk?
Avatar billede mugs Novice
17. december 2007 - 22:05 #1
Har du prøvet i underformularen at sætte underordnede / overordnede felter til LeverandørId?
Avatar billede fdata Forsker
17. december 2007 - 22:07 #2
"SELECT .....  WHERE [Leverandør].FirmaId=" & Me.[LeverandørId]
Avatar billede fdata Forsker
17. december 2007 - 22:08 #3
... lige i hælene på dig, mugs  ;o]
Avatar billede fdata Forsker
17. december 2007 - 22:14 #4
per2edb >> Kort vejledning
Du bruger "Me." når du arbejder i VBA i en formular eller en rapport og refererer til f.eks. en tekstboks på samme formular (eller rapport).
  Me.Kundenr betyder altså: den tekstboks, der hedder Kundenr på Me (mig)
Hvis du skal referere til f.eks. en tekstboks på en anden formular, vil du skulle udpege denne formular, Det sker med: Forms!FormNavn.ControlNavn.
Tjek evt. Access hjælpen eller web. Der er masser af hjælp at finde
Avatar billede per2edb Praktikant
17. december 2007 - 22:42 #5
Desværre virker det ikke.
SQL sætningen ligger i Rækkekilde normalt uden " (men jeg har prøvet med og uden)

mugs forslag forstår jeg ikke. Jeg holder mig indenfor samme underformular.
Avatar billede kabbak Professor
17. december 2007 - 22:51 #6
SELECT .....  FROM tabel WHERE (([Leverandør].FirmaId)=[Forms]![Formular1]![LeverandørId]));
Avatar billede per2edb Praktikant
18. december 2007 - 11:02 #7
Det virker stadig ikke.
kabbak antal paranteser stemmer ikke. Er Formular1 min underformulars navn: Tilbud UFrm (se ovenfor).

Jeg prøver at uddybe:
På underformularen [Tilbud UFrm] ligger en kombinationsbox med et SQL kald:
SELECT .....  WHERE [Leverandør].FirmaId=[LeverandørId]

SQL kaldet ligger i Rækkekilde i kombinationsboxen, og virker uden WHERE sætningen.
På samme underform [Tilbud UFrm] har jeg et felt med navnet : LeverandørId
Dennes værdi skal ind i WHERE [Leverandør].FirmaId=[LeverandørId]

Det virker når jeg F.eks har tallet 2 i feltet LeverandørId og manuelt sætter
WHERE [Leverandør].FirmaId = 2

Håber I nu kan hjælpe - jeg giver gerne dobbelt point.
Avatar billede kabbak Professor
18. december 2007 - 11:11 #8
SELECT ..... FROM Tabel WHERE (((Tabel.FirmaId)=[Forms]![Hovedformular]![underformular].[Form]![LeverandørId]));
Avatar billede per2edb Praktikant
18. december 2007 - 11:39 #9
Desværre det virker ikke
Avatar billede mugs Novice
18. december 2007 - 11:55 #10
Er der ikke en [Form] for meget her:
..(((Tabel.FirmaId)=[Forms]![Hovedformular]![underformular].[Form]![LeverandørId]));
Avatar billede kabbak Professor
18. december 2007 - 16:28 #11
Jeg prøver at vise dig hvordan:
vælg designvisning af din form

Højreklik på din kombinationsbox, vælg egenskaber
Ved Data > Rækkekilde står din SQL, klik på de 3 ... til højre for linjen,
så er du i en slags forespørgsel.

hvis ikke feltet 'FirmaId' er der, så træk det ned fra tabellen.
klik ind i Kriterier under 'FirmaId'
Højreklik vælg generer
tryk på + ud for Forms
tryk på + ud for Indlæste Formularer
tryk på + ud for din hovedformular
klik på din underformular
Nu skal du se i midterste rude, find feltet 'LeverandørId'
Dobbeltklik på det, så der kommer skrift op i øverste vindue.
Klik ok

hvis feltet 'FirmaId' IKKE skal med ind i din kombinationsbox, så skal du fjerne fluebenet i Vis.

Luk forespørgsels generatoren, sig ja til ændringer.

Så skulle det køre
Avatar billede kabbak Professor
18. december 2007 - 16:30 #12
Husk at du skal redigere underformularen igennem din hovedformular.
Hvis du kun åbner underformularen alene, virker det ikke.
Avatar billede per2edb Praktikant
18. december 2007 - 19:08 #13
Nu mældes der ikke fejl længere, men der vises intet i kombinationsbox.
Værdien i feltet 'LeverandørId' genereres lige før kombinationsbox´en.
Jeg har på fornæmmelsen der skal en refresh til. Hvor kan jeg placere den lige efter
feltet 'LeverandørId' er opdateret?
Avatar billede kabbak Professor
18. december 2007 - 21:32 #14
Under feltet LeverandørId, i kodemodulet

prøv at sætte denne kode ind

Private Sub LeverandørId_Change()
Me.Requery
Me.Refresh

End Sub
Avatar billede kabbak Professor
18. december 2007 - 22:10 #15
eller
Me.Kombinationsboks2.Requery
hvor Kombinationsboks2 er navnet på din kombinationsbox
Avatar billede per2edb Praktikant
19. december 2007 - 17:23 #16
Hej
Så er den der - næsten.
Det virker kun når jeg har en knap med opdater placeret på underformularen !!
Jeg har prøvet i timevis at placere Me.Refresh og Me.Kombinationsboks2.Requery
men det giver intet.
Har i et bud på hvor jeg kan lægge koden Refresh så den virker automatisk ligesom 
knappen refresh på underformularen
Avatar billede kabbak Professor
19. december 2007 - 19:24 #17
Du skal finde ud af hvilken hændelse, der gør at feltet 'LeverandørId' bliver tildelt et nummer.
Når du har fundet ud af det, så skal koden være der.
Avatar billede per2edb Praktikant
19. december 2007 - 22:20 #18
Takfor 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