vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Allgemeine Diskussionen
Re: Export von Access Tabelle 
Autor: darth roli
Datum: 13.04.04 10:10

Hallo,

lies doch deine Daten in ein Flexgrid ein, somit hast du deine Daten schon mal Spaltenweise getrennt.
Hoffe mein Beispiel unten kann dir helfen.

bei meinem beispiel lese ich von einer Oracle Datenbank ein:

Dim Table As Variant
Dim datum_von As String
Dim datum_bis As String
Dim frage As String

Table = InputBox("Bitte geben Sie die gewünschte Tabelle an", "Tabelle aus Datenbank holen", "TBLKUNDENAUSGANG")
If Table = "" Then
Exit Sub
End If
datum_von = InputBox("Datum von:JJMMTT", "Start - Datum angeben")
If datum_von = "" Then
Exit Sub
End If
datum_bis = InputBox("Dauum bis:JJMMTT", "End - Datum angeben")
If datum_bis = "" Then
Exit Sub
End If

MousePointer = vbHourglass

Dim strPathToDB As String

'Flexgrid nicht sichtbar
'fgdaten.Visible = False

'Fehlerbehandlung
On Error GoTo abbruch

'Datenbank bestimmen
strPathToDB = "Password=tva;User ID=tva;Data Source=oracle;Persist Security Info=True"

'Connection zur Datenbank
Set CnA = New ADODB.Connection

With CnA
.CursorLocation = adUseClient
.Mode = adModeShareDenyNone
.Provider = "MSDAORA.1"
.ConnectionString = strPathToDB
.Open
End With

Err.Clear


Dim RsA As ADODB.Recordset
Dim sSQL As String

If CnA.State = adStateClosed Then
MsgBox "keine Connection zur Datenbank", _
vbCritical
Exit Sub
End If

'Fehlerbehandlung
On Error GoTo abbruch

Set RsA = New ADODB.Recordset

'Recordset laden
sSQL = "Select * From " & Table & " where Datum between " & datum_von & " and " & datum_bis
With RsA
.CursorType = adOpenKeyset
.LockType = adLockReadOnly
.ActiveConnection = CnA
.Open sSQL
End With

'anzeigen in Flexgrid
FlexFillFromRs RsA, fgdaten

fgdaten.Visible = True

'Recordset schliessen, Speicher freigeben
RsA.Close
Set RsA = Nothing
Err.Clear
MousePointer = vbNormal
Exit Sub

abbruch:
MousePointer = vbNormal
MsgBox "Fehler: " & Err.Number & vbCrLf & _
Err.Description, vbCritical
Err.Clear

Und jetzt werden die Daten ins MsFlexgrid übernommen:

Public Function FlexFillFromRs(Rs As ADODB.Recordset, Flex As MSFlexGrid)
'Inhalt Recordset in einem Flexgrid darstellen
Dim i As Long
Dim j As Long
Dim breit As Single

With Flex
'neuzeichnen unterdrücken
' .Redraw = False
.AllowBigSelection = True
.AllowUserResizing = flexResizeBoth
.Appearance = flex3D
.FocusRect = flexFocusNone
' .FixedRows = 1
' .FixedCols = 1
'Anzahl Spalten festlegen
.Cols = Rs.Fields.Count + 1
'Header beschriften
For i = 0 To Rs.Fields.Count - 1
.TextMatrix(0, i + 1) = Rs.Fields(i).Name

Next
'Anzahl der Zeilen festlegen
.Rows = .FixedRows + Rs.RecordCount + 1
'Flex mit Daten füllen
Do While Not Rs.EOF
'RecordNummer = Nummer Zeile/Row
i = Rs.AbsolutePosition
For j = 0 To Rs.Fields.Count - 1
'Abfrage auf NULL
If Not IsNull(Rs.Fields(j).Value) Then
.TextMatrix(i, j + 1) = Rs.Fields(j).Value
End If
Next
zeilen = zeilen + 1
Rs.MoveNext
Loop

'Spaltenbreite optimieren
For i = 0 To .Cols - 1
breit = 0
For j = 0 To .Rows - 1
If Me.TextWidth(.TextMatrix(j, i)) > breit Then
breit = Me.TextWidth(.TextMatrix(j, i))
End If
Next
.ColWidth(i) = breit + 120
Next
'Flex (endgültig) Neu zeichnen
.Redraw = True
End With
txtzeilen.Text = zeilen
zeilen = 0
Statusbar.Value = 0
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Export von Access Tabelle537grünschnabel12.04.04 15:19
Re: Export von Access Tabelle374darth roli13.04.04 10:10

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-2025 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