Jag har en liten databas som jag experimenterar med för att lära mig MS Access ('07) och VBA bättre (har knappt kodat i det). 1. Skapa en rapport som har hela tabellen som datakälla. Hej! Jag antar att innehållet i company_name är i textformat. Då måste du ha "fnuttar" runt värdet i villkoret: Tack så mycket för hjälpen, nu fungerar det som jag vill =) Hur använda värde från combobox i SQL-sats?
Jag har ett formulär med en combobox i. Där syns alla företag i min databas. När man väljer ett företag i comboboxen, så vill jag att en fråga ska köras med valt värde som öppnar en rapport. Alltså i pseudokod:
SELECT * FROM company WHERE company_name=Combobox.Selected;
Tror detta är lämpligast att lösa med VBA, men de kanske är enklare med makro eller annat sätt?
Jag vill alltså kunna skapa rapporter för valt företag på detta vis på ett generellt sätt utan att behöva "hårdkoda" en SQL-sats för varje företag...
Tackar på förhand!Sv: Hur använda värde från combobox i SQL-sats?
2. I comboboxens händelse "Vid ändring" infogar du följande:
DoCmd.OpenReport "CompanyReport", acViewReport, , "company_name = '" & Combobox.Value & "'"
Nu öppnas rapporten med valt företag varje gång du väljer ett företag i comboboxen.
Tänk på att om två eller flera företag har samma namn så kommer alla dessa företag med.
Sv:Hur använda värde från combobox i SQL-sats?
Jag har testat ovanstående, men det fungerar inte riktigt. När jag väljer företag i comboboxen, så får jag fram en dialogruta som säger: "Ange parametervärde" och så står det company_name under.
Bytte ut Combobox.Value mot Kombinationsruta4.Value som min heter. På MSDN så hittade jag en kodsnutt hur en sån här sats ska se ut, men den fungerar inte heller:
DoCmd.OpenReport "CompanyReport", acViewReport, , "company_name = " & Kombinationsruta4.Value
När jag väljer företag i detta fall, så får jag dialogrutan: "Körfel 3075, Syntaxfel (operator saknas) i frågeuttrycket 'company_name = Bergmans Svets'". Så här känner han av vilket företag jag valt, men tydligen är det något annat fel i koden här.
Har provat att lösa detta ett tag och googlat, men inte kommit vidare.
Tackar för hjälpen hittills.
Sv: Hur använda värde från combobox i SQL-sats?
DoCmd.OpenReport "CompanyReport", acViewReport, , "company_name = '" & Kombinationsruta4.Value & "'"
Kontrollera också att det verkligen finns ett fält med namnet "company_name" i rapportens datakälla. Om det saknas får man en sådan dialogruta som frågar efter parametervärde.
Sv:Hur använda värde från combobox i SQL-sats?
Först fick jag dialogrutan "ange parametervärde" med ovanstående kodsnutt ändå. Men sen kom jag på varför. Jag har en company_name i tabellen, MEN i SQL-frågan som bygger rapporten kör jag en formatering "company_name AS Företag", så jag ändrade company_name till Företag och nu fungerar det kanon =)