vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
via DAO Textdateien auslesen 
Autor: abudde
Datum: 07.10.06 07:50

Hallo,
ich möchte mit DAO eine Textdatei auslesen und anschließend in eine MS-SQL-Server-Tabelle speichern. Das klappt auch soweit ohne Probleme.
Wenn in der Textdatei jedoch eine größere Zahl steht, so steht diese gleich im Recordset als Exponentialzahl drinnen.
Folgendes Programm habe ich:
Option Explicit

Dim oDAOdb As DAO.Database
Dim oDAOrs As DAO.Recordset

Sub main()

Set oDAOdb = OpenDatabase("c:\temp\MyDirectory", False, True, "Text;")
Set oDAOrs = oDAOdb.OpenRecordset("test.txt", dbOpenDynaset)

Do While Not oDAOrs.EOF
MsgBox oDAOrs.Fields(0).Value

oDAOrs.MoveNext
Loop
End Sub

Die Datei test.txt hat folgenden Inhalt:
testfeld
8949226061193055019

Im Recordset steht anschließend (oDAOrs.Fields(0).Value) 8,94922606119306E+18
Ich verwende die MS DAO 3.6 Object Library.
Wie kann ich das verhindern?
Gut zu wissen wäre auch, wie ich gleich auf andere Datentypen (z. B. Datum, Float etc.) beim Einlesen reagieren könnte.
Vielen Dank für Eure Mühe!

André
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: via DAO Textdateien auslesen 
Autor: Prian0815
Datum: 09.10.06 16:15

1. In was für einen Feldtyp speicherst du denn den Wert?
2. Wie willst du weshalb in welchem Fall reagieren? n bischen mehr Info wär echt nich ohne.

Gruß Armin

P.S.: always look on the bright side of Life!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: via DAO Textdateien auslesen 
Autor: abudde
Datum: 13.10.06 15:17

Hallo Armin,

1. bis zum Speichern komme ich ja noch gar nicht. Der Wert steht ja schon
"falsch" im Recordset nach dem Einlesen.
Was mir vorschwebt wäre eine Möglichkeit dem Recordset zu "sagen",
dass in Spalte ein bigint (o.ä.) kommt, damit der Wert dann schon korrekt
im Recordset steht.
2. Wenn es soetwas für bigint´s gibt, dann kann man doch sicherlich auch
entsprechend bei float, datetime etc. darauf reagieren.

Gruß André
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: via DAO Textdateien auslesen 
Autor: Prian0815
Datum: 16.10.06 15:42

Hi Andre,
Der Datentyp des Recordsets in den du einliest, ergibt sich doch aus der Tabelle der DB, wenn dann musst du schon da ändern. Aber weil ichs gerade sehe, wenn du auf MSSQLSErver DB zugreifst, solltest du das mit ADO und nicht mit DAO tun, vielleicht löst das ja schon dein Prob.

Gruß Armin

P.S.: always look on the bright side of Life!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: via DAO Textdateien auslesen 
Autor: Bobbel
Datum: 16.10.06 20:42

abudde schrieb:
Zitat:

Hallo,
ich möchte mit DAO eine Textdatei auslesen und anschließend
in eine MS-SQL-Server-Tabelle speichern. Das klappt auch
soweit ohne Probleme.
Wenn in der Textdatei jedoch eine größere Zahl steht, so
steht diese gleich im Recordset als Exponentialzahl drinnen.
Folgendes Programm habe ich:
Option Explicit

Dim oDAOdb As DAO.Database
Dim oDAOrs As DAO.Recordset

Sub main()

Set oDAOdb =
OpenDatabase("c:\temp\MyDirectory", False, True,
"Text;")
Set oDAOrs = oDAOdb.OpenRecordset("test.txt",
dbOpenDynaset)

Do While Not oDAOrs.EOF
MsgBox oDAOrs.Fields(0).Value

oDAOrs.MoveNext
Loop
End Sub

Die Datei test.txt hat folgenden Inhalt:
testfeld
8949226061193055019

Im Recordset steht anschließend (oDAOrs.Fields(0).Value)
8,94922606119306E+18
Ich verwende die MS DAO 3.6 Object Library.
Wie kann ich das verhindern?
Gut zu wissen wäre auch, wie ich gleich auf andere Datentypen
(z. B. Datum, Float etc.) beim Einlesen reagieren könnte.
Vielen Dank für Eure Mühe!

André


Wird deine Zahl als ganzes gebraucht oder sind das meherer Zahlen die einfach am Stück in der Datei vorliegen ?

Ansonsten Zeileweise aus der Textdatei einlesen (als String) , Zeile zerlegen und in die entsprechenden Datentypen zerlegen und umwandeln anschliessend an dein RecordSet übergeben.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel