Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Access macro? hat wer Ahnung?

Access macro? hat wer Ahnung?
22.06.2004 12:14:12
Schnuffl
Sorry ich weis es ist ein Excel Forum aber
Dringend.
Folgendes Problem
Suchen und Ersetzen in einer Access Datenbank.
Möchte in einer Datenbank in allen Tabellen Daten ersetzen die in einer ander Datenbank in einer Tabelle stehen.
Sieht so aus Datenbank 2 Tabelle
11 22
12 35
13 34
14 36
Datenbank 1 mehrer Tabellen welche Datensätze enthalten
11 ......
12 ...
13 ...
14 ...
Danke
Robert

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Accesszugriff mittels ADO
Galenzo
Hallo,
da empfehle ich dir mal die intensive Beschäftigung mit ADO.
Dann kannst du dort Daten suchen, ersetzen, löschen, anfügen.
Hier mal ein kleines Beispiel, wie's geht:
' Connection-String
Const CONN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
' die Datenbank
Const FILE = "TestDB.mdb"
' Suchen eines Datensatzes

Function FindImport(FileName As Variant) As String
Dim rs As Recordset
' Verbindung zur Datenbank öffnen
Set rs = New ADODB.Recordset
rs.Open "tbl_Import", CONN & ThisWorkbook.Path & "\" & FILE, _
adOpenKeyset, adLockOptimistic, adCmdTable
rs.Find ("Datei Like '" & FileName & "'")
If rs.EOF Then
FindImport = ""
Else
FindImport = rs.Fields("Datum")
End If
rs.Close
Set rs = Nothing
End Function

'Anfügen eines neuen Datensatzes

Sub SetImport(FileName As Variant)
Dim rs As Recordset
' Verbindung zur Datenbank öffnen
Set rs = New ADODB.Recordset
rs.Open "tbl_Import", CONN & ThisWorkbook.Path & "\" & FILE, _
adOpenKeyset, adLockOptimistic, adCmdTable
rs.AddNew
rs.Fields("Datei").Value = Trim(FileName)
rs.Fields("Datum").Value = Format(Now, "dd.mm.yyyy")
rs.Update
rs.Close
Set rs = Nothing
End Sub

Viel Erfolg!
Anzeige
AW: Accesszugriff mittels ADO
25.06.2004 13:53:09
TOM
Hallo Galenzo
Ich arbeite auch an einem ADO Problem und habe es mit deînem Code Suchen eines Datensatzes versuch, hat aber leider nicht gefunzt.
Ich möchte in meiner Tabelle Auftragsnummern den Datensatz finden den ich ich aus meiner Combobox auslese und den entsprechenden Feldnamen Ausgeliefert auf Wahr setzten.
Anbei mein Code:

Sub LieferungübernahmeinAccess()
Dim datenbank As New ADODB.Connection
Dim Datensatz1 As New ADODB.Recordset, Datensatz2 As New ADODB.Recordset
datenbank.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=H:\Logistik\Voith\Verlagerung_Rosenberger\Lieferungen_Rose-Voith.mdb;"
Datensatz1.Open "Lieferungen", datenbank, adOpenKeyset, adLockOptimistic
On Error GoTo fehler
Datensatz1.AddNew
Datensatz1!Lieferdatum = Me.txtLieferdatum.Value
Datensatz1!Auftrags_ID = bytAuftragsnr
Datensatz1!Lieferscheinnr = Me.txtLieferscheinNr.Value
Datensatz1!Sachnr_ID = bytUmwandlung_Sachnr
Datensatz1!Typ_ID = bytUmwandlung_Typ
Datensatz1!Menge = Me.txtMenge.Value
Datensatz1!Preis_ID = bytPreis_ID
If Me.txtBemerkung.Value = "" Then
Datensatz1!Bemerkung = Empty
Else
Datensatz1!Bemerkung = Me.txtBemerkung.Value
End If
Datensatz1.Update
Datensatz1.Close
If Me.chkAusgeliefert.Value = True Then
Datensatz2.Open "Auftragsnummern", datenbank, adOpenKeyset, adLockOptimistic
Datensatz2.Find ("Datei Like '" & Me.cboVoithAuftragsNr & "'")
Datensatz2!Ausgeliefert = True
Datensatz2.Update
Datensatz2.Close
Set Datensatz2 = Nothing
End If
datenbank.Close
Set datenbank = Nothing
Set Datensatz1 = Nothing
Exit Sub
fehler:
MsgBox "Es trat ein Fehler in Access auf!" & Chr(13) _
& Err.Description, vbCritical, "Fehler!"
Datensatz1.Close
datenbank.Close
Set datenbank = Nothing
Set Datensatz1 = Nothing
End Sub

Besten Dank für einen Tip und Gruss
TOM
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige