Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
nahpetsM
Newbie
Newbie

Anmeldedatum: 06.03.2010
Beiträge: 1

Access 2007 - Tabelle füllen
Verfasst am: 06.03.2010, 15:58

Crying or Very sad Hallo,

ich komme mit folgender Anforderung nicht (mehr) weiter :

1.) Ich habe eine Access-2007 Datenbank mit vielen Tabellen (und vielen Spalten)
2.) Diese möchte ich mit einem VB.NET Modul zunächst füllen
...aber :

Code:

Dim GDb As DataSet = DataSetFromAccess("Game", xmla_path) 'DataSetFromAccess Modul hier erst mal nicht relevant
Dim ObjectInfo As DataTable = GDb.Tables("tbl_savegame_objects")
Dim ObjectInfo_Row As DataRow = ObjectInfo.NewRow


Nun kommt die Schleife die jedesmal eine neue Zeile anlegen soll:

Code:

ObjectInfo_Row = ObjectInfo.NewRow

ObjectInfo_Row("Variation") = CDbl(nz(fld_var, 0))
ObjectInfo_Row("Type") = CStr(nz(fld_type, "x"))
ObjectInfo_Row("m_ID") = CDbl(nz(fld_m_id, 0))
ObjectInfo_Row("SpielerNr") = CDbl(nz(fld_player, 0))
ObjectInfo_Row("InselNr") = CDbl(nz(fld_island, 0))
ObjectInfo_Row("ID_Name") = CStr(nz(fld_name, ""))
ObjectInfo_Row("Prod_time") = CStr(nz(fld_prod_time, "x"))
ObjectInfo_Row("Goods") = CDbl(nz(fld_goods, 0))
ObjectInfo_Row("tradeRouteID") = CDbl(nz(fld_tradeRouteID, 0))

usw... usw... dann:

Code:

ObjectInfo.Rows.Add(ObjectInfo_Row)
UpdateTbl(ObjectInfo, xmla_path)


Während die Sub UpdateTbl wie folgt aufgebaut ist :
Code:

Public Shared Sub UpdateTbl(ByVal Tbl As DataTable, ByVal xmla_path As String)
        Dim connectionString As String = ("Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & xmla_path & "\save.accdb")
        Dim conn As New OleDbConnection(connectionString)

        Try
            conn.Open()
            conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})

            Dim adp As New OleDbDataAdapter("SELECT * FROM " & Tbl.TableName, conn)
            Dim b As New OleDbCommandBuilder(adp)
            adp.Update(Tbl)

            conn.Close()
        Catch ex As Exception
            Console.Write("Error in SavegameAnalyzer|TblUpdate: " + ex.Message)
        End Try
    End Sub


Nun erhalte ich andauern SQL-Error Meldungen, obwohl die zu schreibenden Werte im Debug-Modus ok aussehen, und sich sogar manuell in die Tabelle mit copy&paste übertragen lassen.
Meine Vermutung : UpdateTbl ist ein falscher Weg ... und führt zu einem zu langen SQL-Statement ....

Wäre schön wenn mir jemand helfen könnte. Ein großes "Game"-Projekt bleibt wegen diesem Fehler hängen *grmpf*
Meine Erfahrung mit VS2008 ist eher Anfänger ... bin guter VBA-Programmierer .. aber das hilft kaum.
Auch das Galileo-Buch VB 2008 hilft mir hierfür nicht weiter ... Sad
Und wie so oft, finde ich im WWW (respektive Foren) nicht die passende Lösung für mein Problem.

Gruss
Stephan M.
_________________
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: access, tabelle, 2007, füllen

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 869 09.06.2011, 12:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2432 06.03.2008, 20:19
Keine neuen Beiträge ListView speichern & laden 1242 05.08.2008, 12:32
Keine neuen Beiträge Registry & Co Fragen 1101 03.05.2007, 09:57
Keine neuen Beiträge Listbox speichern & laden 2047 22.03.2007, 20:25
 



[ Time: 0.1387s ][ Queries: 81 (0.0301s) ][ GZIP on - Debug on ]