Jag har ett program som söker på fastighetsbeteckning i en Accessdatabas. Det jag skriver i en TextBox hamnar i variabeln varFastighet. En del av SQL-satsen ser ut som följer Hej! Nix, funkar inte. Vid sökning på GARPHYTTAN blev det av någon anledning 12 träff istället för 16 som tidigare och GARPHYTTAN 7 gav fortfarande noll träff. WHERE FASTBET Like ' " & ("%") & varFastighet & ("%") &"'" Hej! Jag vet inte hur jag bättre skall beskriva datan än vad jag gjorde i min inledande fråga. Fatstighetsbeteckningana ser ut som Jokertecken i SQL
WHERE FASTBET Like ' " & "%" & varFastighet & "%'
En fatsighetsbeteckning kan se ut som GARPHYTTAN 7:11
Skriver jag GARPHYTTAN så får jag träff på alla fastigheter. Så även om jag gör ett mellanslag efter N. Men när jag skriver GARPHYTTAN 7 så får jag noll träff. Vad kan det bero på?Sv: Jokertecken i SQL
Prova skriv din WHERE-sats så här istället:
WHERE FASTBET Like '%" & varFastighet & "%'
Observera att jag tog bort ett mellanslag och flyttade på procenttecknet.
Hoppas det fungerar bättre.
Lycka till och lev väl!
Tom S.Sv: Jokertecken i SQL
Sv: Jokertecken i SQL
Med paranteser.
Fungerar på min server.Sv: Jokertecken i SQL
Om du beskriver hur datan i databasen ser ut så blir det lättare att konstruera en fråga som kan ställas mot databasen.
Skillnaden mellan
WHERE FASTBET Like ' " & "%" & varFastighet & "%'
WHERE FASTBET Like ' " & ("%") & varFastighet & ("%") &"'"
...och...
WHERE FASTBET Like '%" & varFastighet & "%'
...är att det i dom två översta
o sker fler konkateneringar och att
o det finns ett mellanslag mellan ' och ", vilket resulterar i att FASTBET MÅSTE innehålla ett mellanslag längst i början av strängen, och efter mellanslaget kan vilket tecken som helst finnas. Sen ska varFastighet finnas med och därefter kan vilket tecken som helst återigen finnas.
Man måste veta hur datan ser ut som man ska söka igenom för att kunna konstruera en korrekt fråga som ställs mot databasen. Kan du beskriva hur datan ser ut? Om du fortfarande inte löser det så kan du skicka över det till mig (tom@firstdev.com) eller lägga upp det på filarean så kan säkert någon annan hjälpa dig att lösa problemet.
Lycka till och lev väl,
Tom S.Sv: Jokertecken i SQL
GARPHYTTAN 7:1
GARPHYTTAN 7:12
GARPHYTTAN 12:3 osv
Kan felet ha med sättet namnen skapades? Från början var beteckningen uppdelad i 4 kolumner
GARPHYTTAN
7
:
12
Jag exporterade dom till Excel där jag slog ihop dom till en kolumn och importerade tillbaka til Access. Har denna procedur skapa tecken runt siffrorna som inte syns?
I min första fråga om
WHERE FASTBET Like ' " & "%" & varFastighet & "%'
gjorde jag mellanslaget mellan de första fnuttarna enbart för att de bättre skulle synas i texten om de var åtskilda.
GARPHYTTAN och mellanslag funkar alltså men när en siffra skrivs är det stop.
Jag har precis samma SQL för personnummer och där kan jag få rätt träff oavsett hur många siffror jag skriver i personnumret, så koden borde vara rätt.