Liebe Community
Ich bin noch Neuling was das Programmieren angeht, aslo entschuldigt bitte, wenn die Fragen etwas unbeholfen wirken.
Mein Ziel ist es ein Programm zu schreiben, bei dem nach Eingabe einer ID eine E-Mail-Adresse zurück gegeben wird, mit welcher, sich dann angemeldet werden kann. Zunächst möchte ich hierzu eine Tabelle mit 2 Spalten (CSV) einlesen und als Dataset speichern (Ist das überhaupt sinnvoll?). Die Tabelle enthält hierbei in der ersten Spalte die ID und in der zweiten Spalte die E-Mail-Adresse. Nachdem die Daten importiert wurden soll nun Spalte 1 durchsucht und nach erfolgreichem finden des gesuchten Objektes Spalte 2 zurückgegeben werden.
Ich hoffe Ihr könnt nun das grobe Setting nachvollziehen.
Den nachfolgenden Code zum einlesen der CSV-Datei, habe ich mir aus dem Internet zusammengesucht.
Dies funktioniert an sich auch, jedoch weiss ich nicht, wie ich das erstellte Dataset durchsuchen kann.
Weiter ist mir aufgefallen, dass man in VBA auch grafisch Datasets erstellen kann (wäre wahrscheinlich aus Anschaulichkeitsgründen besser). Dies ist mir für ein CSV file jedoch nicht gelungen.
Ich bedanke mich bereits jetzt für eure Hilfe.
Grüsse
Faruman
Ich bin noch Neuling was das Programmieren angeht, aslo entschuldigt bitte, wenn die Fragen etwas unbeholfen wirken.
Mein Ziel ist es ein Programm zu schreiben, bei dem nach Eingabe einer ID eine E-Mail-Adresse zurück gegeben wird, mit welcher, sich dann angemeldet werden kann. Zunächst möchte ich hierzu eine Tabelle mit 2 Spalten (CSV) einlesen und als Dataset speichern (Ist das überhaupt sinnvoll?). Die Tabelle enthält hierbei in der ersten Spalte die ID und in der zweiten Spalte die E-Mail-Adresse. Nachdem die Daten importiert wurden soll nun Spalte 1 durchsucht und nach erfolgreichem finden des gesuchten Objektes Spalte 2 zurückgegeben werden.
Ich hoffe Ihr könnt nun das grobe Setting nachvollziehen.
Den nachfolgenden Code zum einlesen der CSV-Datei, habe ich mir aus dem Internet zusammengesucht.
Quellcode
- Imports System.Data
- Imports System.IO
- Imports System.Data.OleDb
- Public Class Form1
- Dim phlocation As String
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- TextBox1.Text = My.Settings.CSVString
- Dim phlocation As String
- phlocation = TextBox1.Text
- 'Check if the file location is empty
- If String.IsNullOrEmpty(phlocation) = True Then
- MsgBox("CSV location is not provided. Please provide its location!")
- 'If its not empty then go ahead with next phase
- Else
- 'Divide the dir and filename for ado.net connection and cmd strings.
- Dim fileDir = Path.GetDirectoryName(phlocation)
- Dim fileNam = Path.GetFileName(phlocation)
- 'Process ado.net for csv
- Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Text;Data Source=" & fileDir & ""
- Dim objConn As New OleDbConnection(sConnectionString)
- objConn.Open()
- Dim objCmdSelect As New OleDbCommand("SELECT * FROM " & fileNam & "", objConn)
- Dim objAdapter1 As New OleDbDataAdapter
- objAdapter1.SelectCommand = objCmdSelect
- Dim objDataset1 As New DataSet
- objAdapter1.Fill(objDataset1, "ID_EMail_Match")
- DataGridView1.DataSource = objDataset1.Tables(0).DefaultView
- objConn.Close()
- End If
- End Sub
- 'Private Sub button1_click(sender As Object, e As EventArgs) Handles Button1.Click
- ' Dim openfiledialog1 As New OpenFileDialog
- ' openfiledialog1.InitialDirectory = "c:\"
- 'End Sub
- Private Sub button1_click(sender As Object, e As EventArgs) Handles Button1.Click
- My.Settings.CSVString = TextBox1.Text
- My.Settings.Save()
- My.Settings.Reload()
- phlocation = TextBox1.Text
- 'Check if the file location is empty
- If String.IsNullOrEmpty(phlocation) = True Then
- MsgBox("CSV location is not provided. Please provide its location!")
- 'If its not empty then go ahead with next phase
- Else
- 'Divide the dir and filename for ado.net connection and cmd strings.
- Dim fileDir = Path.GetDirectoryName(phlocation)
- Dim fileNam = Path.GetFileName(phlocation)
- 'Process ado.net for csv
- Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Text;Data Source=" & fileDir & ""
- Dim objConn As New OleDbConnection(sConnectionString)
- objConn.Open()
- Dim objCmdSelect As New OleDbCommand("SELECT * FROM " & fileNam & "", objConn)
- Dim objAdapter1 As New OleDbDataAdapter
- objAdapter1.SelectCommand = objCmdSelect
- Dim objDataset1 As New DataSet
- objAdapter1.Fill(objDataset1, "ID_EMail_Match")
- DataGridView1.DataSource = objDataset1.Tables(0).DefaultView
- objConn.Close()
- End If
- End Sub
- End Class
Dies funktioniert an sich auch, jedoch weiss ich nicht, wie ich das erstellte Dataset durchsuchen kann.
Weiter ist mir aufgefallen, dass man in VBA auch grafisch Datasets erstellen kann (wäre wahrscheinlich aus Anschaulichkeitsgründen besser). Dies ist mir für ein CSV file jedoch nicht gelungen.
Ich bedanke mich bereits jetzt für eure Hilfe.
Grüsse
Faruman