Avatar billede henrikden8 Nybegynder
19. oktober 2005 - 13:52 Der er 2 kommentarer og
1 løsning

Afgrænsning af indholdet af komboboks

Hovedformular: for_varetype   
Baseret på forespørgsel: fsp_varetype
Heri er der bl.a. følgende felter:
Varetypekode_bogstav        ProcesID      RessourceID
Underformular: for_varetype_varenr_ufor      hvis eneste opgave det er at knytte varenumre til hovedformularen.
Underformularen er baseret på forespørgslsen: fsp_varetype_varenr_ufor
Heri er der bl.a. følgende felter:
Varenr (som er et tal autonummering)
Varenummer (som er en tekst startende med x, y el. z)  samt
Varetypenr og VaretypeID  som binder henholdsvis under og hovedformular sammen.
Varetypekode_bogstav        ProcesID      RessourceID
som går igen fra hovedformularen

I underformularen er varenr en komboboks. Med rækkekilde i forespørgslen fsp_varenumre som ligeledes indeholder alle ovennævnte felter.

SELECT * FROM fsp_varenumre

Jeg er interesseret I at rækkekilden I  ‘Varenr’ I underformularen som udgangspunkt er tomt.

Så vil jeg gerne have en enslydende hændelse i AfterUpdate i 3 af hovedformularens felter:
Varetypekode_bogstav        ProcesID      RessourceID

I ’Varenr’ vil jeg have de ’Varenummer’ frem som starter med det bogstav som er i ’Varetypekode_bogstav’ og som ikke har både det tal som står i ProcesID og det tal som står i RessourceID

Resultatet skal være det samme som hvis jeg i kriterierne f.eks. havde skrevet: Varenummer  ”x*” og ProcesID <>1 samt RessourceID <>1

SELECT fsp_varenumre.[Vare id], fsp_varenumre.Varenummer, fsp_varenumre.Beskrivelse, fsp_varenumre.Varetypekode_bogstav, fsp_varenumre.ProcesID, fsp_varenumre.RessourceID, fsp_varenumre.Varetypenr, *
FROM fsp_varenumre
WHERE (((fsp_varenumre.Varenummer) Like "x*") AND ((fsp_varenumre.ProcesID)<>1) AND ((fsp_varenumre.RessourceID)<>1));

Nu skal ‘ kriterierne’ istedet hentes fra tekstfelterne på hovedformularen.
Og det hele startes med recordsource eller rowsource
Avatar billede henrikden8 Nybegynder
20. oktober 2005 - 14:47 #1
Nu er jeg nået frem til at hvis jeg skriver følgende sql streng i rækkekilde på Varenr - op når jeg tæt på det ønskede resultat:
SELECT * FROM fsp_varenumre WHERE ((Varenummer Like [forms]![for_varetype]![Varetypekode_bogstav] & "*") And (ProcesID<>[forms]![for_varetype]![ProcesID]) And (RessourceID<>[forms]![for_varetype]![RessourceID]));

Nu skal jeg så have den sat i AfterUpdate i de 3 af hovedformularens felter!

I øvrigt får jeg nogle stadig varenumre frem som ikke skulle komme frem?!?
Avatar billede henrikden8 Nybegynder
20. oktober 2005 - 16:06 #2
SELECT * FROM fsp_varenumre WHERE ((([fsp_varenumre].[Varenummer]) Like [forms]![for_varetype]![Varetypekode_bogstav] & "*") And Not ((([fsp_varenumre].[ProcesID])=[forms]![for_varetype]![ProcesID]) And (([fsp_varenumre].[RessourceID])=[forms]![for_varetype]![RessourceID])));

Dette funker godt nok indtil videre
Avatar billede henrikden8 Nybegynder
20. oktober 2005 - 16:06 #3
svar
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