# VBA Access > Daten aus Datenbank in Variablen umwandeln



## Daniel Wittberger (18. September 2003)

Hi @ all

Ich habe folgendes Problem:

Ich möchte in Microsoft Access 2002 mit Hilfe von VBA, Daten aus einer Tabelle einlesen und diese dann als Variable verwenden. 

Es sieht so aus:

Ich habe in einem Formular an die 100 Buttons. Ich habe eine Tabelle mit 100 Datensätzen. Jeder dieser Datensätze steht für einen Button. In jedem Datensatz ist eingetragen ob der Button aktiv oder inaktiv sein soll. Ich möchte nun mit Hilfe von VBA jeden Datensatz auslesen, die ausgelesenen Dateien in eine Variable zwischenspeichern und dann mit Hilfe dieser Variable im Form bestimmen ob der Butten sichtbar (aktiv) oder unsichtber (inaktiv) sein soll. 

Besten Dank für Eure Antworten.

Gr33ts
Stauffenberg

PS: Ich hoffe ich habe hier richtig gepostet. Ich war mir nicht sicher ob dies ins Datenbank-Forum gehört. Sorry!


----------



## yacine (19. September 2003)

so etwa?

Mir ist es allerdings nicht gelungen die Controls dynamisch in Access zu erzeugen. Dies scheint nur in VB möglich zu sein. Hat jemand dazu eine Lösung?


----------



## Thomas Darimont (19. September 2003)

Servus!

Also...... 

ich würde das ganz anders machen:

1) Speichern der belegten Felder ...

Felder kennen nur einen Zustand 1 = an und 0 = aus ....
(Würde an deiner Stelle später Checkboxen verwenden) ...

Ich hab jetzt z.Bsp.: 5 Buttons ...

Dann brauche ich in der Tabelle tblButtonZustand
nur 5 Spalten ...
Für jeden Button eine ...

wenn ich nun zu dem n-ten Button nachsehen will, ob jener 
an oder aus ist, lese ich nur die n-te Spalte der Tabelle tblButtonZustand aus,
welche nur ene Zeile enthält ...

ODER:

Ein wenig schlauer wäre es aus den Zuständen aller Buttons EINEN nur für diesen einen Zustand signifikanten Wert zu generieren... ---> Hashfunktion

Wieder das Beispiel mit den 5 Buttons:

2^4    2^3      2^2      2^1      2^0
B1     B2      B3       B4       B5
1         0         1         0           1

---> daraus einfach ne Zahl errechnen 

1 * 2^4 + 0 * 2^3 + 1 * 2 ^2 + 0 * 2^1 + 1 * 2^0 = 21

wir speichern also nur die zahl 21 die uns den Zustand 1 0 1 0 1 signalisiert in einer Tabelle ab.

aus der 21 erhalten wir denn ursprünglichen Zustand mit :

21 /  2^4 = 1 Rest 5
5 / 2 ^3 = 0 Rest 5
5 / 2^2 = 1 Rest 1
1 / 2 ^1 = 0 Rest 1
1 / 2 ^0 = 1 Rest 0

....

HTH Gruß Tom


----------



## Daniel Wittberger (19. September 2003)

Hi

Ich hab jetzt schon einen Lösungsweg gefunden. Ist zwar nicht der schönste und einfachste aber es funktioniert. 

Ich posten den Code in den nächsten Tagen.

Gr33ts
Stauffenberg


----------



## yacine (19. September 2003)

Hallo Stauffenberg,
ich würde trotzdem gern wissen was du eigentlich damit bezweckst. Kannst du dein Projekt beschreiben?


----------

