Hej! Hej igen! Jag skulle välja en kombinationsruta med två kolumner där den första kolumnen innehåller det verkliga datumet och den andra kolumnen innehåller år-månad-formatet. På så sätt ser användaren det du önskar i listan men väljer i själva verket ett "riktigt" datum. Tack så jättemycket Åsa! Visa YYYY-MM, men ha YYYY-MM-DD i tabellen?
Jag undrar om det är möjligt att använda datum i formatet YYYY-MM-DD som radkälla för en kombinationsruta, men att de visas för användaren i formatet YYYY-MM och att det valda datumet sedan lagras som YYYY-MM-DD i en tabell?
Så här ser nuvarande radkällan ut för kombinationsrutan, men då visas ju datumen i formaten YYYY-MM-DD för användaren:
myRecordSet2.Open "SELECT ÅrMånad FROM OMSÄTTNING WHERE (((kontrakt_nr)= '" & Me!Kontrakt_nr.Value & "'))"
'Om det inte har hunnit registreras någon omsättning för kontraktet
If myRecordSet2.EOF Then
'Går igenom från aktuell månad ned till inflyttningsdatum
While (månadensFörstaDag >= Inflyttningsdatum)
'Lägger till månaden i kombinationsrutan som användaren ska välja bland
Me!ÅrMånad.AddItem (månadensFörstaDag)
' Går en månad bakåt
månadensFörstaDag = DateAdd("m", -1, månadensFörstaDag)
Wend
Else
'Går igenom från aktuell månad ned till inflyttningsdatum
While (månadensFörstaDag >= Inflyttningsdatum)
myRecordSet2.MoveFirst
'Undersöker om omsättningen är registrerad för varje månad
myRecordSet2.Find "ÅrMånad =" & månadensFörstaDag
If myRecordSet2.EOF Then
'Omsättningen är inte inlagd för denna månad.
'Lägger till månaden i kombinationsrutan som användaren ska välja bland
Me!ÅrMånad.AddItem (månadensFörstaDag)
End If
' Går en månad bakåt
månadensFörstaDag = DateAdd("m", -1, månadensFörstaDag)
Wend
End If
Tacksam för hjälp!
/CarinaSv: Visa YYYY-MM, men ha YYYY-MM-DD i tabellen?
Jag har testat att använda Format så här:
Me!ÅrMånad.AddItem (Format(månadensFörstaDag, "yyyy-mm"))
Då visas det i rätt format, yyyy-mm, i listvalen, men sedan då man valt ett datum så blir det ändå yyyy-mm-dd i kombinationsrutans textfält.
Smidigast hade varit om det går att lösa på ovanstående sätt.
Ett alternativt sätt är att hitta en lösning där två olika datumformat jämförs med varandra
2009-05 <= 2009-07-02
och att man bara ta hänsyn till år och månad. Är det möjligt?
Är osäker på vilket sätt jag ska angripa problemet?
Mycket tacksam för hjälp!
CarinaSv:Visa YYYY-MM, men ha YYYY-MM-DD i tabellen?
Ange följande egenskaper för kombinationsrutan ÅrMånad:
Antal kolumner: 2
Kolumnbredder: 0;3 (ange bredden på den andra kolumnen till kontrollens bredd)
Typ av radkälla: Värdelista
Bunden kolumn: 1
Ange sedan kombinationsrutans radkälla (myRowSource är en variabel av typen String):
While månadensFörstaDag > Inflyttningsdatum
If Not myRecordSet2.BOF Then
myRecordSet2.MoveFirst
myRecordSet2.Find "ÅrMånad=" & månadensFörstaDag
End If
If myRecordSet2.EOF Then
myRowSource = myRowSource & ";" & månadensFörstaDag & ";" & Format$(månadensFörstaDag, "yyyy-mm")
End If
månadensFörstaDag = DateAdd("m", -1, månadensFörstaDag)
Wend
Me.ÅrMånad.RowSource = Mid$(myRowSource, 2)
Sv: Visa YYYY-MM, men ha YYYY-MM-DD i tabellen?
Har precis testat din lösning och nu fungerar det som det ska! :-)