Hej Tänk på att detta är beroende på Vilken språkversion/regionalainställninga du kör av windows. Hej Det funkar för dig ja. Värde till string
Varför funkar inte detta?
Dim sAnt As String
sAnt = Format(MonthView1(0).Value, "ddd", vbMonday)
select sum(sAnt)As isum from tabell where
Jag har fält i databesen som är må, ti, on, to, fr, lö, sö alltså veckodagar.
tobbeSv: Värde till string
Så du bör använda strängkonstanter för dina kolumner.
Du måste konkratenera variablen med konstanten för att göra så du vill:
Dim SQL as String
Dim wd as Long
Dim Columns As Array
Columns = Array("må", "ti", "on", "to", "fr", "lö", "sö")
wd = Weekday(MonthView1(0).Value,vbMonday)
SQL = "SELECT SUM(" & Columns(sAnt-1) & ") AS isum FROM tabell"
Sv:Värde till string
Fått det att funka med detta!
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
Dim dbs As Database
Dim rs As Recordset
Dim sAnt As String
sAnt = "day" & Weekday(MonthView1.Value, vbMonday)
Debug.Print sAnt
Set dbs = OpenDatabase("D:\Data\s2kb.mdb", False, False, _
";pwd=xxxx")
Set rs = dbs.OpenRecordset("SELECT sum(" & (sAnt) & ") AS isum from Mek_Närvaro where avd = '" & lblAvd & "'and Verk = true")
Do While Not rs.EOF
Text1 = rs.Fields("isum").Value & vbNullString
rs.MoveNext
Loop
rs.Close
dbs.Close
Set rs = Nothing
Set dbs = Nothing
End Sub
tobbeSv: Värde till string
Men testa din applikation på med annan språkiställning så kommer den krascha.
Jag vara bara förutseende vade det gäller att använda format mot en array/case-/if-sats.
Så jag ser det som att din kod innehåller en känd bugg upptäckt genom inspektion.
En bugg som troligen skulle klara din debuggning och/eller testfall förutsatt att du inte testade på en annan språkversion.