Hilfe bei Access
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von picoflop.
-
-
- Poste den Code und es wird dir wahrscheindlich nicht nur 1 helfen sondern mehrere.
- Falls es eine Lösung geben sollte, kann die Nachwelt eventuell anhand dieser Lösung sein eigenes Problem eventuell auch beheben.
lgScheduleLib 0.0.1.0
Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten -
ok hieri st der code...:
VB.NET-Quellcode
- Imports System.Data.OleDb
- Class neuevok
- Dim con As New OleDbConnection
- Dim cmd As New OleDbCommand
- Dim reader As OleDbDataReader
- Dim pnummer As New ArrayList
- Private Sub neuevok_Load(
- ByVal sender As System.Object,
- ByVal e As System.EventArgs
- ) Handles MyBase.Load
- con.ConnectionString =
- "Provider=Microsoft.Jet.OLEDB.4.0;" &
- "Data Source= lernen.mdb"
- cmd.Connection = con
- End Sub
- Private Sub cmdAlleSehen_Click(
- ByVal sender As System.Object,
- ByVal e As System.EventArgs
- ) Handles cmdAlleSehen.Click
- AlleSehen()
- End Sub
- Private Sub cmdNameSuchen_Click(
- ByVal sender As System.Object,
- ByVal e As System.EventArgs
- ) Handles cmdNameSuchen.Click
- Try
- con.Open()
- cmd.CommandText =
- "select * from personen where" &
- " name like '%" & txtDeutsch.Text & "%'"
- MessageBox.Show(cmd.CommandText)
- Ausgabe()
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- con.Close()
- End Sub
- Private Sub cmdEinfügen_Click(
- ByVal sender As System.Object,
- ByVal e As System.EventArgs
- ) Handles cmdEinfügen.Click
- Dim anzahl As Integer
- Try
- con.Open()
- cmd.CommandText =
- "insert into vokabeln " &
- "(englisch, deutsch) values ('" &
- txtDeutsch.Text & "', '" &
- txtEnglisch.Text & "', "
- MessageBox.Show(cmd.CommandText)
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MessageBox.Show(
- "Ein Datensatz eingefügt")
- End If
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- MessageBox.Show("Bitte mindestens einen" &
- " Namen, eine eindeutige Personal" &
- "nummer und ein gültiges Geburts" &
- "datum eintragen")
- End Try
- con.Close()
- AlleSehen()
- End Sub
- Private Sub cmdÄndern_Click(
- ByVal sender As System.Object,
- ByVal e As System.EventArgs
- ) Handles cmdÄndern.Click
- Dim anzahl As Integer
- Try
- con.Open()
- cmd.CommandText =
- "Deutsch = '" & txtDeutsch.Text & "', " &
- "Englisch = '" & txtEnglisch.Text
- MessageBox.Show(cmd.CommandText)
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MessageBox.Show("Datensatz geändert")
- End If
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- MessageBox.Show("Bitte einen Datensatz" &
- " auswählen und mindestens einen" &
- " Namen, eine eindeutige Personal" &
- "nummer und ein gültiges Geburts" &
- "datum eintragen")
- End Try
- con.Close()
- AlleSehen()
- End Sub
- Private Sub cmdLöschen_Click(
- ByVal sender As System.Object,
- ByVal e As System.EventArgs
- ) Handles cmdLöschen.Click
- Dim anzahl As Integer
- If MessageBox.Show("Wollen Sie den ausge" &
- "wählten Datensatz wirklich löschen?",
- "Löschen", MessageBoxButtons.YesNo) =
- DialogResult.No Then
- Exit Sub
- End If
- Try
- con.Open()
- cmd.CommandText = "delete from vokabeln " &
- "where personalnummer = " &
- pnummer(lstTab.SelectedIndex)
- MessageBox.Show(cmd.CommandText)
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MessageBox.Show("Datensatz gelöscht")
- End If
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- con.Close()
- AlleSehen()
- End Sub
- Private Sub AlleSehen()
- Try
- con.Open()
- cmd.CommandText = "select * from vokabel"
- Ausgabe()
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- con.Close()
- txtDeutsch.Text = ""
- txtEnglisch.Text = ""
- End Sub
- Private Sub Ausgabe()
- reader = cmd.ExecuteReader()
- lstTab.Items.Clear()
- pnummer.Clear()
- Do While reader.Read()
- lstTab.Items.Add(reader("Deutsch") & " # " &
- reader("Englisch"))
- Loop
- reader.Close()
- End Sub
- Private Sub lstTab_SelectedIndexChanged(
- ByVal sender As System.Object,
- ByVal e As System.EventArgs
- ) Handles lstTab.SelectedIndexChanged
- Try
- con.Open()
- cmd.CommandText = "select * from vokabel" &
- " where personalnummer = " &
- pnummer(lstTab.SelectedIndex)
- reader = cmd.ExecuteReader()
- reader.Read()
- txtDeutsch.Text = reader("Deutsch")
- txtEnglisch.Text = reader("Englisch")
- reader.Close()
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- con.Close()
- End Sub
- End Class
also diesen code haeb ich aus meinen schlauen buch genommen.... eigendlich soll nur passieren, das man die acces datenbank bearbeiten kann... also einmal ändern dann einfügen und eben löschen ... nur leider zeigt er mir viele fehler an. das sind schon zuviele, das ich hier die alle aufsagen kann, deswegen meinte ich ja mit teamviewer -
-
Ich kann generell nur zu DB-Parametern raten. (google mal danach)
Solch eine Schreibweise in SQL-Statements KANN eigentlich nur Fehler enthalten.
lgScheduleLib 0.0.1.0
Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten -
-
Das Problem das Du hast liegt in dem Namen der Spalte "Name". "Name" ist bei dem extrenen Zugriff auf Access-DB ein reserviertes Wort und verursacht immer wieder Ärger.
Lösung: In Access den Spaltennamen ändern, sql anpassen und schon funktionierts.
@fichz: Hast Du schon einmal bei Access mit den DB-Paramteren sinnvoll arbeiten können? Da sieht man, dass Access keine vollwertige DB ist sondern ein schönes Frontend-Werkzeug.NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil). -
INOPIAE schrieb:
Hast Du schon einmal bei Access mit den DB-Paramteren sinnvoll arbeiten können?
Was soll da nicht gehen?
Man muss halt nur die REIHENFOLGE einhalten.
-
Ähnliche Themen
-
juju1974 - - Daten(bank)programmierung