Ich möchte daten aus access mittels vba ein query schreiben, kennt sich jemand damit aus?
Mittels einer Application will ich die Daten aus einer Access DB die in einer ListBox angeclickt wurden, selectieren und in eine MsgBox anzeigen lassen. jedoch beim ausführen bekomme ich die gleiche Fehlermeldung. Ich muss dazu sagen ich habe nicht viel Erfahrung damit. Die Fehlermeldung ist in der Zeitle: result1 = rs![Parameter.parameter_name]....ERROR: Item cannot be found in the collection corresponding to the requested name or ordinal.
hier der ganze code
Private Sub Show_Parameter_Click()
Dim varItem As Variant
Dim strList As String, WFList As String, PartList As String
Dim result1 As String, result2 As Integer
Dim cmd As New ADODB.Command, rs As New ADODB.Recordset, cn As New ADODB.Connection
Set cn = Application.CurrentProject.Connection
cmd.ActiveConnection = cn
'Set WorkBase = OpenDatabase("D:\DokuEstera\Decide-Rules\RuleDB\MSAccess\DecideWFdb.mdb")
For Each varItem In Me.List1.ItemsSelected
strList = strList & Me.List1.Column(0, varItem) '& "OR "
Next varItem
'strList = Me.List1.Column(0, varItem)
For Each varItem In Me.List17.ItemsSelected
WFList = WFList & Me.List17.Column(0, varItem) '& "OR "
Next varItem
For Each varItem In Me.List19.ItemsSelected
PartList = PartList & Me.List19.Column(0, varItem) '& "OR "
Next varItem
If (strList = "" And WFList = "" And PartList = "") Then
MsgBox ("Please select a Rule")
ElseIf (strList <> "" And WFList = "" And PartList = "") Then
cmd.CommandText = "SELECT r.rule_ID, r.Rule_name, rp.rule_ID, rp.parameter_ID, p.parameter_ID, p.parameter_name " & _
"FROM (Rule As r INNER JOIN RuleParam As rp " & _
"ON r.rule_ID=rp.rule_ID) INNER JOIN Parameter As p ON rp.parameter_ID=p.parameter_ID " & _
"WHERE r.Rule_name='" & Trim$(strList) & "' "
cmd.ActiveConnection = CurrentProject.Connection
Set rs = cmd.Execute
result1 = rs![Parameter.parameter_name]
MsgBox (result1)
End Sub
Vielen Dank für deine Hilfe
Antwort schreiben
Antwort 1 von Teddy7 vom 04.09.2019, 16:48 Options
so ohne genau hinzuschauen ein Schuß ins Blaue:
result1 = rs![p.parameter_name]
Gruß
Teddy