vad är det för fel på denna. Gissningar: jag får fortfarande <code> får fortfarande felmeddelande Kör avslut vid anstallningsnummerb så får du svar. To few parameters betyder alltid att det är något du lägger till sql-satsen som blir tomt. Någon av dina variabler är således tomma och genererar ett fel. Håller inte med dig pelle. To few parameters betyder i Access att du stavat fel till ett av din fältnan. Access tolkar det då som en parameter. Felmedelande får du för att du inte anget ett värde för din "parameter". Så kontrollera din fältnamn. Gör en fråga i Access så som du vill ha den och när den fungerar byt till SQL läge i access och kopiera koden till VB. Min första tanke som slog mig var, kan du inte optimera den koden och det rejält?sqlsats
(tänk inte på radbryt)
den vägrade fungera efter den sista delen ( and ledigfra < " & ledigfrab &"'"
här är hela koden.
det är rätt till och med anställningsnummerb
RDCPER1.SQL = "select * from personal where fornamn like '" & fornamnb & "'and efternamn like '" & efternamnb & "'and fodelsear like '" & fodelsearb & "'and yrke like '" & yrkeb & "'and gatuadress like '" & gatuadressb & "'and postnr like '" & postnrb & "' and postort like '" & postortb & "'and hemtelefon like '" & hemtelefonb & "'and mobiltelefon like '" & mobiltelefonb & "'and ovrigtelefon like '" & ovrigtelefonb & "'and korkort like '" & korkortb & "'and biltillgang like '" & biltillgangb & "' and arbetssituation like '" & arbetssituationb & "'and utbildningar like '" & utbildningarb & "' and epost like '" & epostb & "' and nationalitet like '" & nationalitetb & "' and periodkod like '" & periodkodb & "' and lon like '" & lonb & "' and avtaladlon like '" & avtaladlonb & "' and ansokningsbrev like '" & ansokningsbrevb & "'and arbetstidonskad like '" & arbetstidonskadb & "'and anstallningsnummer like '" & anstallningsnummerb & "'and ledigfra < '" & ledigfrab & " '"
RDCPER1.RefreshSv: sqlsats
1) ett mellanslag behövs före "and"?
2) ett mellanslag för mycket före ' efter ledigfrab?
Alltså, ändra till
<code>
& anstallningsnummerb & "' and ledigfra < '" & ledigfrab & "'"
</code>Sv: sqlsats
"To few parametrers exepted"
hm.. jobbigt problem
undrar om det kan vara att jag använder like blandat med >
nån som har en lösning?Sv: sqlsats
RDCPER1.SQL = "SELECT * FROM personal WHERE fornamn LIKE '" & fornamnb & _
"' AND efternamn LIKE '" & efternamnb & "' AND fodelsear LIKE '" & _
fodelsearb & "' AND yrke LIKE '" & yrkeb & "' AND gatuadress LIKE '" & _
gatuadressb & "' AND postnr LIKE '" & postnrb & "' AND postort LIKE '" & _
postortb & "' AND hemtelefon LIKE '" & hemtelefonb & _
"' AND mobiltelefon LIKE '" & mobiltelefonb & _
"' AND ovrigtelefon LIKE '" & ovrigtelefonb & _
"' AND korkort LIKE '" & korkortb & "' AND biltillgang LIKE '" & _
biltillgangb & "' AND arbetssituation LIKE '" & arbetssituationb & _
"' AND utbildningar LIKE '" & utbildningarb & "' AND epost LIKE '" & _
epostb & "' AND nationalitet LIKE '" & nationalitetb & _
"' AND periodkod LIKE '" & periodkodb & "' AND lon LIKE '" & _
lonb & "' AND avtaladlon LIKE '" & avtaladlonb & _
"' AND ansokningsbrev LIKE '" & ansokningsbrevb & _
"' AND arbetstidonskad LIKE '" & arbetstidonskadb & _
"' AND anstallningsnummer LIKE '" & anstallningsnummerb & _
"' AND ledigfra < '" & ledigfrab & "'"
</code>
Nu ser jag inga fel om du bara har (From personal) dvs du har bara en Tabell personal
Du får stega dig fram. Vad händer om du bara kör tom. (efternamnb) dvs
avsluta där sen tar du ett steg till osv.
Klistra in ovanstående , jag hittade en del fel mellanslag.Sv: sqlsats
to few parametrers exepted 1
den är datum i värde , den sista
har det med det att göra ?Sv: sqlsats
Jag kör Datum som Text annars brukar det strula.
Edit: det är nog mellanslaget efter (ledigfrab) som strular.Sv: sqlsats
Ex : ... And Data =
Ett sådant fel accepteras inte. Däremot kan man kringå denna typen av fel genom att alltid innesluta sina parametrar med '' vilket i detta fall skulle ge:
Ex : ... And Data = ''
HälsningarSv: sqlsats
Sv: sqlsats
Lägg in villkoren också som fasta värden i access och byt sedan ut dom mot dina variabler när du klistrat in i VB.
Det brukar fungera
//MattiasSv: sqlsats
T ex: RDCPER1.SQL = "SELECT * FROM Personal WHERE PersID =" & NågotPersID & " AND ledigfra < '" & ledigfrab & "'"" Förutsatt då att du har PersID i Personal tabellen.
Eller om du ställer SQL satsen att hämta anställningsnummer, för det bör vara unikt.
Kanske även göra en snurr på om något fält är tomt, t ex när du tilldelar variabeln sitt värde.
Sist kollar man om StrError = true, då körs inte SQL satsen utan ett felmeddelande visas.
Annars är det som de andra säger, bygg på med en bit i taget och skriv ut SQL satsen så att du ser att alla fnuttar och sådant är på rätt ställe och att variablerna har fått värden.
//Anna-Karin