Hallo Forum,
ich arbeite gerade an einem Projekt, dieses Projekt soll ich in Access 2003 also VBA gemacht werden,
ich bin ein VBA Einsteiger, daher brauche ich eure Hilfe:
Ich habe Folgende Tabellen:
Tabelle Haupt:
Term
Status
Tabelle Test:
MATNR
MAKTX
Tabellen sind verbindungslos
Meine Aufgabe ist es, mit mehreren Schleifen die Spalten „MAKTX“ und „Term“ zu vergleichen,
und die Ergebnisse in einer neuen Spalte ausgeben.
Kurz gefasst ich muss einen String-Vergleicher machen.
Wobei nur die Strings von Term sollen in der neuen Tabelle ausgegeben werden, hier können auch mehrere Werte zu einen Ergebnis passen, ideal wäre diese Werte mit ein „ ; “ zu trennen.
Ziel:
Tabelle Test:
MATNR
MAKTK: Siederohrbogen 5d90 108,0, Siederohrbogen 5d90 108,0
Term (DE):Siederohrbogen ; 5d90 ; 108,0;
Siederohrbogen ; 7d91 ; 110,0 usw.
Status
Genau hier habe ich meine Probleme, da mir noch VBA Kenntnisse fehlen.
Ich wollte fragen, ob jemand helfen könnte oder mir Tipps geben könnte, wie ich das lösen kann.
Hier ist mein Coding, den ich bis jetzt gemacht habe, da sind paar Fehler drin, mir geht es vor allem um die Schleife und der Spalte Erzeugung:
_Option Compare Database
Option Explicit
Sub Test()
Dim db As Database
Dim rs_Test As Recordset
Dim rs_Haupt As Recordset
Dim strHaupt As String
Dim strTest As String
Dim A As String
'Erzeugen einer neuen Spalte
Dim neueSpalte As TableDef
'Spalte „Status“ von Haupt in Test verschieben
Dim status As DAO.TableDef
Set db = CurrentDb()
'Erzeugen der Spalte für die Ergebnisse der Schleife
Set neueSpalte = db.TableDefs(„Test“)
With neueSpalte
.Fields.Append .CreateField(„Term (DE)“, dbText, 20)
.Fields.Refresh
End With
Set neueSpalte = Nothing
'Spalte „Satus“ von Tabelle Haupt in Tabelle Test verschieben
'Fehlt
Set rs_Test = db.OpenRecordset(„tblTest“, dbOpenDynaset)
Set rs_Haupt = db.OpenRecordset(„tblHaupt“, dbOpenDynaset)
A = rs_Test!MAKTX.Value
'Beginn der Schleife
Do A
rs_Test.MoveFirst
rs_Haupt.FindFirst A
If rs_Test!MAKTX.Value = rs_Haupt![Term (DE)].Value Then
End If
Loop Until rs_Haupt.EOF = True
'Ende Schleife
End Sub_