Jag håller på med ett program som skall registrera ett lager. Man skall både kunna lägga till i lagret genom inköp och tabort genom försäljning. När du registrerar ett inköp läggs datum, sort, antal kg och utbetalt in i lagertab. När du sedan skall sälja en vara så skall programet ta bort den vara som stämmer in på beställningen (sort), den varan med äldst inköpsdatum skall alltid tas bort först. Mitt program funkar utom på en punkt, företaget kan ha flera köptillfällen på samma vara och samma dag. Som det är nu så tar programet bort alla där datumet och varan matchar.
Så om jag först köper in 5 kg tomater och sedan samma dag ytterligare 5. Sedan får jag en beställning på 5kg tomater, då skall ju programet inte ta bort båda posterna.
Här följer min kod.
Set tabell = New ADODB.Recordset
Dim vikt As Integer
vikt = CInt(Text6.Text)
Dim fortsätt As Boolean
fortsätt = True
Dim datum As Date
Do While fortsätt
tabell.Open "select min(datum) from lagertab where sort = '" & Text3.Text & "'", frmMain.databas
datum = tabell(0)
tabell.Close
tabell.Open "select * from lagertab where sort = '" & Text3.Text & "' and datum = #" & datum & "#", frmMain.databas
If vikt >= tabell("kg") Then
vikt = vikt - tabell("kg")
tabell.Close
tabell.Open "delete from Lagertab where sort = '" & Text3.Text & "' and datum = #" & datum & "#", frmMain.databas
Else
tabell.Close
tabell.Open " update lagertab set kg=kg- " & vikt & " where sort = '" & Text3.Text & "' and datum = #" & datum & "#", frmMain.databas
fortsätt = False
End If
Loop
Mycket tacksam för hjälp