Hallo,
Soll:
ich muss für einen Datenbank ein Frontend basteln welches Daten aus Excel importiert. Meine Idee war diese erstmal in eine Datagrid zu nehmen um Sie dort vom Anwender nochmal prüfen zu lassen und dann auf den SQL zu übergeben.
Problem:
Es gibt einzelne Spalten die im Datagrid offensichtlich als numeric gespeichert werden welche aber Text sein müßen.
Code
Das Datagrid ist also leer und wird mit den Spalten der Exceldatei gefüllt.
Wie immer bei den einfachen Lösungen funktioniert es nur zu 3% nicht...
Es gibt, als Beispiel, eine Spalte "HsNr" die offensichtlich Hausnummern enthält.
zu 99% sind das Zahlen aber es gibt auch Werte wie "8 c" diese werden hierbei nicht imporiert und lassen sich aufgrund der formatierung der Datagridspalte nicht nachtragen.
wie behebe ich das Problem?
Soll:
ich muss für einen Datenbank ein Frontend basteln welches Daten aus Excel importiert. Meine Idee war diese erstmal in eine Datagrid zu nehmen um Sie dort vom Anwender nochmal prüfen zu lassen und dann auf den SQL zu übergeben.
Problem:
Es gibt einzelne Spalten die im Datagrid offensichtlich als numeric gespeichert werden welche aber Text sein müßen.
Code
Code:
Sub import_geht() Dim sFilePath, sFileName As String Dim sSlash As Single With OpenFileDialog1 .Title = "Importieren" .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop .Filter = "Exceltabellen (*.xls)|*.xls" .ShowDialog(Me) sFilePath = Mid(.FileName, 1, sSlash) sFileName = Mid(.FileName, sSlash + 1, Len(.FileName)) End With Dim strConnection As System.Data.OleDb.OleDbConnection = Nothing Dim myPath As String = sFilePath & sFileName Try Dim objDataSet As System.Data.DataSet Dim objAdapter As System.Data.OleDb.OleDbDataAdapter strConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & myPath & " '; " & "Extended Properties=Excel 8.0;") objAdapter = New System.Data.OleDb.OleDbDataAdapter("select * from [Stammdaten$]", strConnection) objDataSet = New System.Data.DataSet objAdapter.Fill(objDataSet) DataGridView1.DataSource = objDataSet.Tables(0).DefaultView strConnection.Close() Catch ex As Exception MessageBox.Show(ex.Message) strConnection.Close() End Try End Sub
Wie immer bei den einfachen Lösungen funktioniert es nur zu 3% nicht...
Es gibt, als Beispiel, eine Spalte "HsNr" die offensichtlich Hausnummern enthält.
zu 99% sind das Zahlen aber es gibt auch Werte wie "8 c" diese werden hierbei nicht imporiert und lassen sich aufgrund der formatierung der Datagridspalte nicht nachtragen.
wie behebe ich das Problem?
Comment