Hoofdletters, kleine letters koppelen in Access

Status
Niet open voor verdere reacties.

marka

Gebruiker
Lid geworden
14 jul 2009
Berichten
333
Ik heb 2 tabellen waarvan ik in 1 tabel bijvoorbeeld een A wil laten vervangen door een cijfer 10 en een kleine letter a door een 50.

Nu heb ik een bijwerkquery gemaakt die tabel1 met tabel2 koppelt waarbij in tabel1 de waarden staan die bijgewerkt moeten worden. De koppeling gebeurd op de letters dus als in tabel1 een a staat en in tabel2 ook dan koppelt hij deze.

Hoe krijg ik het voor elkaar dat de query niet soms een a bijwerkt naar 10 en een andere keer naar een 50? Ofwel hoe kan ik hoofdletters en kleine letters onderscheiden?
 
Maak een functie die de hoofdletters vervangt door getallen, en gebruik Option Compare Binary i.p.v. Option Compare Database.
 
Ik moet misschien dan nog wel vermelden dat de hoofdleters en kleine letter in een reeks verscholen zitten. Bijvoorbeeld a0001 B2044 maakt dit niet uit?

Ik zou even kijken of ik de functie kan maken.
 
Normaal gesproken niet; zolang de functie alle tekens doorloopt, zal het wel werken. Ik hoop niet dat je later e.e.a. weer moet terugvertalen, want dan heb je ook een probleem!
 
Nee ik maak in de tabel ook gewoon een extra lolom en laat het oude veld staan en zet de het nieuwe veld met de nieuwe waarde erin. Zo heb ik altijd de oude data nog!
 
Heel verstandig :)
 
Dit werkt overigens...

Code:
Function SwitchLetter(Tekst As String)
Dim i As Integer, tmp

For i = 1 To Len(Tekst)
    If Asc(Mid(Tekst, i, 1)) >= 65 And Asc(Mid(Tekst, i, 1)) <= 90 Then
        tmp = tmp & Asc(Mid(Tekst, i, 1)) - 55
    ElseIf Asc(Mid(Tekst, i, 1)) >= 97 And Asc(Mid(Tekst, i, 1)) <= 122 Then
        tmp = tmp & Asc(Mid(Tekst, i, 1)) - 47
    Else
        tmp = tmp & Mid(Tekst, i, 1)
    End If
Next
SwitchLetter = tmp

End Function
 
Hoe moet ik zo'n functie als Option Compare Binary maken of hoe moet ik de laatste functie gebruiken? Letter Cijfer
A 10
B 11
C 12
D 13
E 14
F 15
G 16
H 17
I 18
J 19
K 20
L 21
M 22
N 23
O 24
P 25
Q 26
R 27
S 28
T 29
U 30
V 31
W 32
X 33
Y 34
Z 35
a 36
b 37
c 38
d 39
e 40
f 41
g 42
h 43
i 44
j 45
k 46
l 47
m 48
n 49
o 50
p 51
q 52
r 53
s 54
t 55
u 56
v 57
w 58
x 59
y 60
z 61

Dit is zou maar zeggen de vertaaltabel
 
Als je een nieuwe module maakt, zet Access daar zelf Option Compare Database boven. Je vervangt dan het woord Database door Binary. En als je toch in een module zit, kun je gelijk daar de functie plakken!
In een query roep je hem zo aan in een nieuw veld: Expr1: SwitchLetter([Jouw veld]).
 
Op vakantie geweest, maar is helemaal gelukt! Bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan