Wert an entspr.Datensatz(in Tabelle)übergeben

Juhu Ihr,

Ich mal wieder :smile:

Also ich habe ja ein Formular, indem der Softwarebestand (CDs & Disketten) verwaltet wird.
Man kann also Hersteller, Produkt, Version, Datum usw. anschauen bzw.eintragen.

Jetzt meine Gedanken:

ich öffne das Formular…
ich blätter durch die einzelnen Datensätze…

in der ComboBox werden Sachgebiete angezeigt…
bei einigen Sachgebieten(Bsp.Treiber)geht eine Listbox daneben auf, in der Matchcode(Drucker,Sound usw.)steht…

wenn der Matchcode,den ich brauche nicht dabei ist, klicke ich auf den „NEU“ Button u.füge somit neuen Matchcode hinzu…

der Matchcode wird sofort in der Listbox angezeigt *freu*…

bis hierhin ist alles ok, aber jetzt…

ich öffne die dazugehörige Tabelle…
und was seh ich da??

der Matchcode wurde nicht im entsprechenden Datensatz hinzugefügt, sondern in einem neuen Datensatz!!

Ich will wenn ich bei einem Datensatz den Matchcode ändere(neu hinzufüge), dass der neue Matchcode auch in der Tabelle beim richtigen Datensatz steht!

Wisst ihr wie ich meine?

MfG Sabine L.

bisserl code wäre hilfreich ;o) (OT)

hallo sabine,

du liest dir die id von dem datensatz aus, wo du einen matchcode hinzufügen möchtest…

danach ganz banal per sql
update softwarebestand set matchcode= 0815 where id = eindeutigeDatensatznummer

verstanden?

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

und wie lese ich die ID aus?

MfG Sabine L.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Mh Bernd,

welchen Code magste denn haben? :wink:

Den vieleicht?..(ist Sub v.meinem „NEU“ Button)

Private Sub Befehl106_Click()

Dim Mldg, Titel, Hersteller
Dim z As Variant
Dim objcon As ADODB.Connection
Dim rstTab As ADODB.Recordset

If MsgBox(„Wollen Sie neuen Matchcode hinzufügen?“, vbYesNo + vbQuestion, „Neuer Matchcode“) = vbYes Then

z = InputBox(„Bitte geben Sie den Matchcode ein:“, „Neuer Matchcode“)

Set objcon = Application.CodeProject.Connection
Set rstTab = New ADODB.Recordset
rstTab.CursorType = adOpenDynamic
rstTab.LockType = adLockOptimistic
rstTab.CursorLocation = adUseClient
rstTab.Open „Softwarebestand“, objcon, , , adCmdTable
rstTab.AddNew

With rstTab
.Fields(„Matchcode“).Value = z
.Update
End With

rstTab.Close
Set rstTab = Nothing
Set objcon = Nothing

antw = MsgBox(„Der Matchcode " & z & " wurde der Tabelle hinzugefügt!“, _
vbOKOnly + vbInformation)

aktualisieren_Click
Liste103.Requery
Else
End If
End Sub

MfG Sabine L.

hallo sabine,

mit verlaub –
ich helfe gerne, aber n bisschen hirn einschalten und mitdenken setze ich auch vorraus…

du hast deine tabelle softwarebestand mit einer eindeutigen id in deiner access-datenbank

diese frägst du ab(mit einem sql/recordset) sofern du sie nicht eh schon hast, und machst auf diese id dein update

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Korrekturen
Hi!

Mal so vorab…falls du das beruflich machst solltest du erstmal nen Access und nen SQL-Kurs absolvieren, denn offensichtlich hast du von beiden keine ahnung…

Mh Bernd,

welchen Code magste denn haben? :wink:

Den vieleicht?..(ist Sub v.meinem „NEU“ Button)

Private Sub Befehl106_Click()

Dim Mldg, Titel, Hersteller
Dim z As Variant
Dim objcon As ADODB.Connection
Dim rstTab As ADODB.Recordset

If MsgBox(„Wollen Sie neuen Matchcode hinzufügen?“, vbYesNo +
vbQuestion, „Neuer Matchcode“) = vbYes Then

z = InputBox(„Bitte geben Sie den Matchcode ein:“, „Neuer
Matchcode“)

Set objcon = Application.CodeProject.Connection
Set rstTab = New ADODB.Recordset
rstTab.CursorType = adOpenDynamic
rstTab.LockType = adLockOptimistic
rstTab.CursorLocation = adUseClient
rstTab.Open „Softwarebestand“, objcon, , , adCmdTable

Du solltest schon den richtigen Datensatz raussuchen wo du eintragen willst! z. b. select * from softwarebestand where id = xxx (oder halt name = xxx jenachdem wie du den Datensatz identifizierst!)

rstTab.AddNew

wunderst du dich wirklich wenn du addnew sagst das er einen neuen Datensatz anlegt??? für deinen Fall gibt es edit !!

With rstTab

etwas albern für einen befehl! Es reicht hier
rsttab.edit
tsttab![matchcode] = z
rsttab.update

.Fields(„Matchcode“).Value = z
.Update
End With

rstTab.Close
Set rstTab = Nothing
Set objcon = Nothing

antw = MsgBox(„Der Matchcode " & z & " wurde der
Tabelle hinzugefügt!“, _
vbOKOnly + vbInformation)

aktualisieren_Click
Liste103.Requery
Else
End If
End Sub

MfG Sabine L.

sags doch gleich :smile:
probiers jetzt aus…
LG Sabine L.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Also Bernd,

um dein neugieriges Gemüt zu beruhigen…
ich mache sehr selten was in Access/SQL…
das letzte mal vor 3 jahren.

Glückwunsch das du da so bewandert bist!

MfG Sabine L.