VB 6 Zahlenwert in Recordset String zuweisen

Hallo zusammen,

mein Problem ist, daß ich in meinem Programm einen Recordset aus einer .mdb auslese, der Zahlen enthält.
Nun will ich den Zahlen einen Wert zuweisen, am Besten direkt im Recordset z.B. der Zahl „1“ den Wert „ja“.
Das eigentliche Problem ist wohl die Formatierung, eine andere Zahl kann ich zuweisen.
Kann mir jemand erklären wie das geht?

Hier der Teil meines Codes, in dem ich die Änderung durchführen möchte:

Private Sub Werte_aendern()

If Def_Rep(„test“).Value = 1 Then
Def_Rep(„test“).Value = „ja“
ElseIf Def_Rep(„test“).Value = 2 Then
Def_Rep(„test“).Value = „nein“
End If

End Sub

Wäre echt super wenn mir jemand weiterhelfen kann.

Danke schon mal

Gruß

Boris

Hi Boris,

das könnte man mit einem Array machen …

Dim Arr(2) As String '

Oder wenn es sehr viele Werte sind die Inhalte aus einer Datei lesen oder eine eigene Tabelle in der DB dafür anlegen und die verwenden ...

Es gibt mehrere Möglichkeiten. Für wenige Werte halte ich das Beispiel für recht übersichtlich und bequem. :smile:

Gruß Rainer

Hallo Boris,

Bei dir liegt ein arger Denkfehler vor!
Die Daten werden doch aus einem Recordset gelesen!
Das Wiederrum bedeutet das das Recordset die Daten aus einer Datenbank lesen tut. Eine Datenbank hat wiederrum Tabellen und diese enthalten Felder. In deinem Beispiel waere das das Feld Test!

Jedes Feld wiederrum kann nur einen Datentyp aufnehmen / speichern.
Da du ja Zahlen gespeichert hast ( Integer, Long etc.) So kannst du ihn kein Wert vom Typ Boolean zuweisen!!!

Aber du koenntest natuerlich das Feld welches die Zahlen beinhaltet auslesen und je nachdem einen anderen Feld was vom Typ Boolean ist, die Daten zuweisen. Danach koenntest du das Feld vom Typ Zahlen löschen und das Feld vom Typ Boolean wiederrum umbenennen!
Ist zwar net die eleganteste Lösung aber besser wie keine!

Was du mit der Umwandlung aber bezwecken möchtest, bleibt mir ein Raetsel! Wenn du mal sagen würdest, wofür du das brauchst, so koennte man dir einen vlt. anderen Weg zeigen :smile:

Aber zu deinem Problem wie man eine Zahl in Boolean umwandelt!
Du musst wissen das False auch als 0 dargestellt wird. True wird als -1 dargestellt. Ergo koennte man folgende Umwandlung vornehmen :wink:

DeinWertAlsBoolean=CBool(Def\_Rep("test").Value 0)

MfG Alex

Hi Boris,
Wie meinen beiden Vorredner schon geschrieben haben ist es merkwürdig einen Zahlenwert auszulesen und durch ein „Wort“ zu ersätzen. Da ich aber auch oft mit EXcel langwirige Replace Operationen durchführe könnte ich dir nur vorschlagen in die Datenbank eine 2te Zeile einzufügen oder alles zu exportieren und mit EXcel Replac 1 mit JA zu machen :stuck_out_tongue:

Private Sub Werte_aendern()

If Def_Rep(„test“).Value = 1 Then
Def_Rep(„Auswertung“).Value = „ja“
ElseIf Def_Rep(„test“).Value = 2 Then
Def_Rep(„Auswertung“).Value = „nein“

End If

Auswertung muss natürlich Text vertragen.

End Sub

Hallo Alex, danke für deine Ausführungen, aber das ist mir schon klar was was ist.
Ich will die Werte auch im Recordset, nachdem er sie aus der DB ausgelesen hat ändern.
Ich habe ein Programm mit vielen, vielen OptionButtons (0/1 oder ja/nein).
Diese Werte schreibe ich in eine DB, nun will ich sie auslesen und darüber eine Auswertung machen. Da die Zahlen leider nicht so anschaulich sind, im Vergleich zu Worten, will ich sie austauschen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]