Hej Jag tolkar det som följande: Helt rätt tolkat, nu måste jag gå in i koden och ändra till det värde jag vill ha...jobbit ;-) Kanske något sånt här? Hej Andreas Hej igen Info:Att få värdet från en kombinationsruta!
Jag har fått till det med kod att uppdatera ett fält i en post i en tabell via en listruta i ett form.
Koden ser ut så här:
-------------------------------------------------------------------------
Private Sub cmdUpdatBL()
Dim sSQL As String
Dim varItem As Variant
With Me.Listruta24
For Each varItem In .ItemsSelected
If sSQL <> "" Then sSQL = sSQL & ","
sSQL = sSQL & .ItemData(varItem)
Next varItem
End With
If sSQL <> "" Then
sSQL = "UPDATE ImportStreckKod SET [Fält4] = '001' WHERE [Count] IN (" & sSQL & ")"
CurrentDb.Execute sSQL
End If
End Sub
-------------------------------------------------------------------------
Men jag vill en sökväg till en kombinationsruta istället för '001' så jag kan välja värdet jag vill ha i kombiRutan, är det någon som vet hur man skriver koden för detta?
Mvh
JörgenSv: Att få värdet från en kombinationsruta!
Listruta24 är en listruta där du kan markera flera poster. De poster du markerat skall alla tilldelas ett värde från en kombinationsruta.
Stämmer detta?Sv:Att få värdet från en kombinationsruta!
Mvh
JörgenSv: Att få värdet från en kombinationsruta!
Function SQLText(Value As Variant) As String
If Len(Value) > 0 Then
SQLText = "'" & Replace(SQLText, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Private Sub cmdUpdatBL()
Dim sSQL As String
Dim varItem As Variant
With Me.Listruta24
For Each varItem In .ItemsSelected
sSQL = sSQL & ", " & .ItemData(varItem)
Next varItem
End With
If sSQL <> "" Then
sSQL = "UPDATE ImportStreckKod SET [Fält4] = " & SQLText(kombiRutan) & vbCrLf & _
"WHERE [Count] IN (" & Mid(sSQL, 3) & ")"
CurrentDb.Execute sSQL
End If
End Sub
Sv:Att få värdet från en kombinationsruta!
Nej, jag får inte det att funka, det händer ingenting.
Det är synd att jag inte fattar riktigt hur koden funkar, det vore lättare och felsöka då.
Om du vill kan jag skicka dig en testfil.
Mvh
JörgenSv:Att få värdet från en kombinationsruta!
Vid felsökning i koden så verkar det stanna med denna info i sSQL-värdet.
sSQL = "UPDATE ImportStreckKod SET [Fält4] = ?? WHERE [Count] IN (6)"
?= fyrkanter.
Vad kan man få ut av detta tro? (lite konstigt med fyrkanterna!)
Mvh
JörgenSv: Att få värdet från en kombinationsruta!
Jag löste det med följande kod.
Jag kom på det med hjälp av koden som Andreas tipsade om...
--------------------------------------------------------------------------
Private Sub cmdUpdatBL()
Dim sSQL As String
Dim varItem As Variant
With Me.Listruta22
For Each varItem In .ItemsSelected
If sSQL <> "" Then sSQL = sSQL & ","
sSQL = sSQL & .ItemData(varItem)
Next varItem
End With
If sSQL <> "" Then
sSQL = "UPDATE ImportStreckKod SET [Fält2] = " & (Kombinationsruta40) & " WHERE_
[Count] IN (" & sSQL & ")"
CurrentDb.Execute sSQL
End If
End Sub
----------------------------------------------------------------------------
Tack Andreas
Mvh
Jörgen