Hallo zusammen!
Ich bin dabei von VBA und VB6 zu VB.Net zu wechseln.
Ein noch nicht ganz unter VBA fertiggestelltes Programm möchte ich nun komplett
unter VB.Net erstellen.
Dazu benötige ich die Verbindung zu einer Test / Access(2000) - Datenbank.
Später soll das dann mit einer SQL - Datenbank funktionieren.
So habe ich es bislang unter VBA realisiert.
'--##--Datenbankverbindung
' aufbauen-----------------------------------------------------------------
Private Sub cmdSuchen_Click()
'---Variablen benennen-------------------------------------------------
If TB_Filter.Text = "" Then GoTo MyErrorHandler
Dim Kriterium As String
Kriterium = TB_Filter.Text
'---Variablen benennen-------------------------------------------------
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim LItem As ListItem
'---Variablen setzen---------------------------------------------------
Set db = OpenDatabase(TextBox10.Text & "\Borm_SQL.mdb")
'---Filter für Artikelbezeichnung setzen------------------------------
With db
Select Case ComboBox1.ListIndex
Case 0
Set rs = .OpenRecordset("SELECT * FROM AUF_STAMM WHERE AUF_NR LIKE" & _
"'" & Kriterium & "'")
Case 1
Set rs = .OpenRecordset("SELECT * FROM AUF_STAMM WHERE" & _
"AUF_BEZEICHNUNG LIKE '" & Kriterium & "'")
Case 2
Set rs = .OpenRecordset("SELECT * FROM AUF_STAMM WHERE AUF_POS_BEZ" & _
"LIKE '" & Kriterium & "'")
End Select
End With
'---ListView Einstellungen----------------------------------------------
With ListView1
.ListItems.Clear
.ColumnHeaders.Clear
.View = lvwReport
.SmallIcons = ImageList1
End With
'---Spaltendefinition --> Variante 2 -----------------------------------
With ListView1.ColumnHeaders
.Add , , "Vorgangs Nr.", 70 'Vorgangsnummer
.Add , , "A/Pos.-Nr.", 50 'Auftragspositionsnummer
.Add , , "Positions - Bezeichnung", 180 'Objekbezeichnung
.Add , , "Objekt - Bezeichnung", 180 'Positionsbezeichnung
End With
'---ListView mit Datenbankinformationen füllen---------------------------
'rs.MoveFirst
Do Until rs.EOF
Set LItem = ListView1.ListItems.Add()
LItem.Text = (rs!AUF_NR & "") 'Vorgangsnummer
LItem.SubItems(1) = (rs!AUF_POS & "") 'Auftragspositionsnummer
LItem.SubItems(2) = (rs!AUF_BEZEICHNUNG & "") 'Objekbezeichnung
LItem.SubItems(3) = (rs!AUF_POS_BEZ & "") 'Positionsbezeichnung
rs.MoveNext
Loop
rs.Close
'Ende Access (BORM_SQL)
' Testanbindung--------------------------------------------------------------
Exit Sub
MyErrorHandler:
MsgBox "Es wurde kein Suchkreterium eingegeben", 64, "Hinweis"
MyErrorHandler1:
MsgBox "Bitte die Sucheingabe prüfen!" & _
"evtl." & _
"- Groß/Kleinschreibung beachten." & _
"- * als Platzhalter setzen."
End Sub
'------------------------------------------------------------------------ Könnte mir da jemand auf die Sprünge helfen, wie das unter VB.Net lauten müßte.
Ich habe schon mal einwenig ausprobiert, nur bekomme ich das ListView noch nicht gefüllt.
...
Private Sub cmdAlleSehen_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles cmdAlleSehen.Click
Dim con As New OleDb.OleDbConnection
Dim cmd As New OleDb.OleDbCommand
Dim reader As OleDb.OleDbDataReader
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data" & _
"Source=D:\AutoCAD_2010\2010_Borm_Datenbank\Borm_SQL.mdb"
cmd.Connection = con
cmd.CommandText = "select * from personen"
Try
con.Open()
reader = cmd.ExecuteReader()
ListView1.Items.Clear()
Do Until reader.Read()
'????????
'????????
Loop
reader.Close()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
... Vielen Dank im voraus.
VG
Dirk |