Combobox met datum criteria

Status
Niet open voor verdere reacties.

LodewijkG

Gebruiker
Lid geworden
6 dec 2012
Berichten
98
Beste Helpmij leden,

Ik heb naast mijn vraag aangaande de formattering van cellen ook een andere vraag aangaande ComboBoxen.

Ik werk in mijn calculaties met prijzen die voor een bepaalde tijd geldig zijn. Ik gebruik nu om producten te selecteren uit mijn comboboxen de criteria >Date() in de query op verval datum. Echter als ik dan naar offerten ga met vervallen items is de tekst uit mijn combobox "verdwenen", omdat deze buiten de criteria vallen. In het tabel heeft hij deze natuurlijk nog wel opgeslagen maar hoe kan ik ervoor zorgen dat ik de tekst uit de cell toch te zien krijg? Moet ik de criteria in deze combobox anders opbouwen?

Wederom bedankt!
 
Bekend 'probleem' inderdaad. Je hebt eigenlijk 2 queries nodig: één voor het invoeren van records (met criterium) en één zonder om bestaande records te zien.
Of je formulier aanpassen en bij het invoeren de keuzelijst gebruiken (en zichtbaar maken) en bij het bladeren een tekstvak. En dan de keuzelijst verbergen.
 
Goedemorgen OctaFish,

Bedankt voor je feedback. Opzich dacht ik ook al richting de 1e oplossing, is het mogelijk om de keuzelijst me invoervak dan aan twee queries te binden?
1. De selectielijst aan de "dropdown" list. (De query met datum criteria)
2. De geselecteerde/opgeslagen keuzes. (De query zonder criteria)
 
Ik heb je db niet, dus met dummycode:
Code:
Private Sub Form_Current()
    If Me.NewRecord Then
        Me.cboKeuzelijst.RowSource = "SELECT [Veld1], [Veld2] FROM [Tabel] WHERE [Vervaldatum] > CDate(" & CDbl(Date) & ")"
    Else
        Me.cboKeuzelijst.RowSource = "SELECT [Veld1], [Veld2] FROM [Tabel]"
    End If
    Me.cboKeuzelijst.Requery
End Sub
Dat idee dus.
 
Beste OctaFish,

Very nice! Ik ben tot het volgende gekomen.

Code:
WHERE [ValidUntill] > CDate(" & CDbl(Date) & ")"

Dit stukje was ik benieuwd naar, in principe worden de prijzen nu goed in cboProduct geladen. Alleen bij de keuze optie vervalt de prijs nog niet, komt denk ik omdat ik nog dezelfde query gebruik en geen tweede query heb aangemaakt met deze criteria. Ik vroeg mij alleen af waar dit stukje code dan voor is?

Kan ik ook deze query op alfabetische volgorde zetten voor het veld "Code"? Of moet ik dat in de query zelf doen?

Hieronder mijn code:
Code:
Private Sub Form_Current()
   If Me.NewRecord Then
        Me.cboProduct.RowSource = "SELECT [ProductId], [bracket]Code[bracket], [Description], [IMO], [tblProduct.CompanyId], [SupplierCode], [MinQ], [PriceId], [Price], [ValidUntill], [Name], [PrefLabel], [PrefPackaging] FROM [qryProductPrice] WHERE [ValidUntill] > CDate(" & CDbl(Date) & ")"
    Else
        Me.cboProduct.RowSource = "SELECT [ProductId], [bracket]Code[bracket], [Description], [IMO], [tblProduct.CompanyId], [SupplierCode], [MinQ], [PriceId], [Price], [ValidUntill], [Name], [PrefLabel], [PrefPackaging] FROM [qryProductPrice]"
    End If
    Me.cboProduct.Requery
End Sub

Is het ook mogelijk dat wanneer het veld gedelete wordt en de gebruiker gebruikt escape om het veld te verlaten er een pop up te laten verschijnen met: "Are you sure you wish to delete the following record" Yes/No

Ik dacht iets als:

Code:
If cboProduct = ""
         MsgBox(Prompt:="Are you sure?", Buttons:=vbYesNo, Title:="Delete") = vbYes Then
         On Error Resume Next
         Me.sfmOrder.Form.Recordset.Delete
         Me.sfmOrder.Form.Recordset.MoveNext
         If Err.Number = 0 Then
            MsgBox Prompt:="Deleted", Buttons:=vbOKOnly, Title:="Deleted"
        Else
            MsgBox Prompt:="There is no record to delete!", Buttons:=vbOKOnly, Title:="Error"
        End If
    Else
        MsgBox Prompt:="Canceled", Buttons:=vbOKOnly, Title:="Canceled"
    End If
End Sub
 
Laatst bewerkt:
Het eerste probleem van het opvolgend laten oplopen is makkelijk opgelost door
Code:
 ORDER BY -Code- ASC

aan de code toe te voegen. Vrij gemakkelijk eigenlijk...
 
Mag je de vraag nog op <Opgelost> zetten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan