PDA

Vollständige Version anzeigen : Splitten eines Textfeldes und konvertieren des neuen Datenfeldes in eine Zahl


AndreaSt
16.10.2001, 11:42
Hallo zusammen,

ich benutze Acccess '97 und habe folgendes Problem:
Ich splitte ein Textfeld mit der Mid-Funktion in einem VBA-Code. Die Teilfelder füge ich weiterhin mit dem VBA-Code in eine bestehende Tabelle an. Bis hier hin ist alles prima. ABER... wie konvertiere ich jetzt diese Felder von dem Felddatentyp "Text" in z.B. "Zahl / Long Integer", ohne dies manuell vornehmen zu müssen ???

Ich habe schon viele wunderbare Ideen ausprobiert, aber leider hat mich keine zum gewünschten Ziel gebracht. Für Antworten wäre ich sehr dankbar.

Grüße

Andrea

SirBlack
16.10.2001, 12:28
Hoffentlich habe ich das richtig verstanden:
Du hast nach dem "mid" eine Zahl die als Text konvertiert ist. Du möchtest nun in der Tabelle diese Spalte als Zahl konvertieren.
Versuchs mal so:

Dim cat As ADOX.Catalog
Dim tdf As ADOX.Table
Dim idx As ADOX.Index
Dim tbl As ADOX.Table

Set cat = New ADOX.Catalog
cat.ActiveConnection = currentProject.Connection

Set tdf = New ADOX.Table

Ob der Code allerdings Access 97 funktioniert weiss ich nicht.

With tdf
.Name = ("Tabellenname")
Set .ParentCatalog = cat

.Columns.Append "Spaltenname", adInteger, 50

End With

cat.Tables.Append tdf '(oder refresh?)

Ob dieser Code allerdings unter Access 97 funktioniert weiss ich nicht, das ich 2000 habe.
Viel Erfolg

SirBlack

erwin
16.10.2001, 19:16
ich nehme mal an, dass du nicht den Felddatentyp ändern willst, da du ja in eine bestehende Tab. Daten einfügst (für A97 wird das auch per ADOX etwas problematisch).

Also beispielhaft

clng(mid("MeinText1234",9,4)) = 1234 (als Long Integer !)

bzw. siehe mal "Typ-Umwandlungsfunktionen" i.d. OL-Hilfe

HTH erwin...

AndreaSt
17.10.2001, 08:04
Hallo !

Ich muß gestehen, als VBA Anfänger hatte ich etwas Schwierigkeiten mit der ersten Lösung. Lag aber vielleicht auch daran, daß Access '97 ADOX nicht kennt.
ABER die zweite Lösung hat super funktioniert.

Vielen Dank für die Hilfe

Andrea

AndreaSt
17.10.2001, 14:17
Ehmmm...

jetzt habe ich doch noch ein Problem.
Was kann ich machen, wenn in dem Teilfeld keine Inhalte sind ? Zum Beispiel will ich einen Teilbereich ausschneiden, in dem normalerweise die PLZ steht. Nun ist aber in der einen Datenzeile keine PLZ eingetragen und das Teilfeld hat nur folgenden Inhalt " ".
Clng gibt mir da ja leider einen Fehler zurück.

Weiß jemand Rat ?

Andrea

erwin
17.10.2001, 19:46
val("0" & (mid("MeinText",9,4))) = 0
val("0" & (mid("MeinNurblabla",9,4))) = 0

HTH erwin...