meerdere criteria werkt niet

Status
Niet open voor verdere reacties.
Is al beter, maar er zit geen enkel record bij met de action code repair... Dus de query levert niet zoveel op...
 
Je zou dan 'Incorrect in overplanned', 'write off' of 'cancel' kunnen gebruiken. Dat maakt in principe niet uit.

gr Gerwin
 
Ik heb nu deze query:

Code:
SELECT MRPCn, Material, [Action code], Right$("0000" & Getalletje([comment]),4) AS Weeknumber, IIf(InStr(1,[comment]," ")=0,"Fout","Goed") AS Expr2
FROM tbl_ZOPS
WHERE (([Action code]="WRITE OFF") AND ((Right$("0000" & Getalletje([comment]),4))<Right$("00" & CStr(Year(Date())),2) & (Right$("00" & CStr(ISOWeekNummer(Date())),2)-12)) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed")) OR (([Action code]="Cancel") AND ((Right$("0000" & Getalletje([comment]),4))<Right$("00" & CStr(Year(Date())),2) & (Right$("00" & CStr(ISOWeekNummer(Date())),2)-10)) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed"));

En dat zou wel eens dezelfde kunnen zijn die jij ook hebt... Ik heb het foutje uit de functie gehaald, want dat scheelt vermoed ik ook nog wel een stuk.

Code:
Function Getalletje(Veld As String)
Dim i As Byte, x As Byte, iWaarde As Long

If Nz(Veld, "") = "" Then GoTo Leeg
i = 1

Do Until IsNumeric(Mid(Veld, i, 1))
    If i = Len(Veld) Then
        Exit Function
    End If
    i = i + 1
Loop

Do While IsNumeric(Mid(Veld, i, 1))
    iWaarde = iWaarde & Mid(Veld, i, 1)
    i = i + 1
Loop
Getalletje = iWaarde

Exit Function
Leeg:
Getalletje = 1
End Function
 
Beste michel,

Het werkt eindelijk bedankt! alleen als ik de bij write off de code erander van -12 naar -52 dan werkt het niet meer. weet je misschien waarom hij dan de criteria niet meer meeneemt en alle gegevens weergeeft?

gr Gerwin
 
Oja, Eigenlijk zou het mooi zijn dat ik in een formulier een waarde invul dus 12 of 52 of welke waarde dan ook en dat hij die dan automatisch pakt uit het formulier. Deze waarde mag dan maar door één iemand ingevuld worden(dus in de admin page), maar dat moet dan wel voor iedereen gaan gelden. hoe kan je die waarden dan vastzetten?
 
Als je er -52 van maakt, ziet het resultaat er zo uit (in jouw voorbeeld): '11-27' i.p.v. '1113' . In een criteriumvergelijking gaat dat dus niet lukken zo... Ik vermoed, dat je 1027 als uitkomst wilt?
 
Dan moet je daar een extra check op inbouwen. Bijvoorbeeld zo:

Code:
<IIf(ISOWeekNummer(Date())-52<0;CStr(Right$(((Year(Date())-1));2) & Abs(ISOWeekNummer(Date())-52));Right$("00" & CStr(Year(Date()));2) & Right$("00" & CStr(ISOWeekNummer(Date())-52);2))
 
Is het ook mogelijk om de aantal weken die je wilt aangeven (dus de 52 bijvoorbeeld), dat je die uit een formulier haalt en dat deze waarde vast blijft staan als alleen de admin deze waarden aanpast(er is al een beschermt gedeelte)?

met vriendelijke groet,

Gerwin Ederveen
 
Alles kan :)
IIf(ISOWeekNummer(Date())-[Forms]![Formuliernaam]![InvulWaarde]; etc...
 
Code:
<IIf(ISOWeekNummer(Date())-52<0;CStr(Right$(((Year(Date())-1));2) & Abs(ISOWeekNummer(Date())-52));Right$("00" & CStr(Year(Date()));2) & Right$("00" & CStr(ISOWeekNummer(Date())-52);2))
Ik heb al wat geprobeerd maar ik krijg het niet op de juiste plek in de volgende code:
Code:
SELECT MRPCn, Material, [Action code], Right$("0000" & Getalletje([comment]),4) AS Weeknumber, IIf(InStr(1,[comment]," ")=0,"Fout","Goed") AS Expr2
FROM tbl_ZOPS
WHERE (([Action code]="WRITE OFF") AND ((Right$("0000" & Getalletje([comment]),4))<Right$("00" & CStr(Year(Date())),2) & (Right$("00" & CStr(ISOWeekNummer(Date())),2)-12)) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed")) OR (([Action code]="Cancel") AND ((Right$("0000" & Getalletje([comment]),4))<Right$("00" & CStr(Year(Date())),2) & (Right$("00" & CStr(ISOWeekNummer(Date())),2)-10)) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed"));

Kan je me zeggen waar het moet komen te staan?
 
Ik heb 'm alleen in de WHERE gezet, omdat de OR een andere waarde gebruikt. En voor het overzicht...

Code:
SELECT MRPCn, Material, [Action code], Right$("0000" & Getalletje([comment]),4) AS Weeknumber, IIf(InStr(1,[comment]," ")=0,"Fout","Goed") AS Expr2
FROM tbl_ZOPS
WHERE (
   ([Action code]="WRITE OFF") 
   AND (Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNummer(Date())-[Forms]![Formuliernaam]![InvulWaarde]<0;CStr(Right$(((Year(Date())-1));2) & Abs(ISOWeekNummer(Date())-
      [Forms]![Formuliernaam]![InvulWaarde]));Right$("00" & CStr(Year(Date()));2) & Right$("00" & CStr(ISOWeekNummer(Date())-[Forms]![Formuliernaam]![InvulWaarde]);2))
   AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed") )
 
Laatst bewerkt:
Die foutmelding zegt niet zoveel; ik gebruik deze code, die prima werkt.

Code:
SELECT tbl_ZOPS.MRPCn, tbl_ZOPS.Material, tbl_ZOPS.[Action code], Right$("0000" & Getalletje([comment]),4) AS Weeknumber, IIf(ISOWeekNummer(Date())-Forms!Test!InvulVeld<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNummer(Date())-Forms!Test!InvulVeld)),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNummer(Date())-Forms!Test!InvulVeld),2)) AS Expr1
FROM tbl_ZOPS
WHERE (((tbl_ZOPS.[Action code])="WRITE OFF") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNummer(Date())-[B][COLOR="blue"]Nz([Forms]![Test]![InvulVeld],0)[/COLOR][/B]<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNummer(Date())-[B][COLOR="blue"]Nz([Forms]![Test]![InvulVeld],0)[/COLOR][/B])),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNummer(Date())-[B][COLOR="blue"]Nz([Forms]![Test]![InvulVeld],0)[/COLOR][/B]),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed")) OR (((tbl_ZOPS.[Action code])="Cancel") AND ((Right$("0000" & Getalletje([comment]),4))<Right$("00" & CStr(Year(Date())),2) & (Right$("00" & CStr(ISOWeekNummer(Date())),2)-10)) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed"));
 
Kan je me misschien ook helpen met het volgende probleem. Ik zou graag in de velden die je in de bijlage ziet de weeknummers vastzetten als je uit het formulier gaat en bij de volgende keer dat je het formulier opent deze weeknummers nog steeds te zien zijn. Tevens zijn dit de waarde die ik gebruik voor het vorige probleem. Ik heb de eigenschappen van één van de velden er naast gezet om zo aan te geven wat er op dit moment is.

knoppen voor weeknummer.jpg
 
Je zou de waarden dan om moeten slaan in een tabel, en inladen bij het openen van het formulier.
 
weekcode.jpg

Kan iemand zeggen waarom hij om een waarde vraagt, terwijl er wel een waarde op die plek staat? zie bijlage...
 
Je laat een plaatje zien van een formulier, maar geeft niet aan welk formulier. De melding geeft aan dat het veld Cancel1 uit een subformulier wordt gehaald, waarbij [Main_form] het hoofdformulier is en [admin_page] het subformulier. Nogmaals: je plaatje toont geen hoofd- en subformulier, dus ik vermoed dat je het subformulier zelfstandig hebt geopend. Dit soort problemen krijg je vaak als je een formulier verkeerd opent; een van de redenen dat ik zelden een criterium vanuit een formulier op een query zet. Ik laat queries vaak zonder filter, en regel het criterium vanuit het formulier. Zodat het formulier, en de query, altijd werken.
 
De SQL is nu als volgt:

Code:
SELECT tbl_ZOPS.MRPCn, tbl_ZOPS.Material, tbl_ZOPS.[Action code], Right$("0000" & Getalletje([comment]),4) AS Weeknumber
FROM tbl_ZOPS
WHERE (((tbl_ZOPS.[Action code])="WRITE OFF") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![writeoff],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![writeoff],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![writeoff],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed")) OR (((tbl_ZOPS.[Action code])="Cancel") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![cancel],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![cancel],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![cancel],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="Goed")) OR (((tbl_ZOPS.[Action code])="upgrade") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![upgrade],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![upgrade],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![upgrade],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="sell back") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![sellback],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![sellback],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![sellback],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="review") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![review],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![review],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![review],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="physical scrap") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![physicalscrap],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![physicalscrap],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![physicalscrap],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="usable with requirements") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![usuablewithrequirements],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![usuablewithrequirements],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![usuablewithrequirements],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="incorrect in overplanned") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![incorrectinoverplanned],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![incorrectinoverplanned],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![incorrectinoverplanned],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="max re-out") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![maxre-out],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![maxre-out],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![maxre-out],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="repair") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![repair],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![repair],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![repair],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="refurbish") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![refurbish],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![refurbish],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![refurbish],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="transfer to other plant") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![transfertootherplant],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![transfertootherplant],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![transfertootherplant],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed")) OR (((tbl_ZOPS.[Action code])="partial scrap") AND ((Right$("0000" & Getalletje([comment]),4))<IIf(ISOWeekNumber(Date())-nz([tbl_weekcode]![partialscrap],0)<0,CStr(Right$(((Year(Date())-1)),2) & Abs(ISOWeekNumber(Date())-nz([tbl_weekcode]![partialscrap],0))),Right$("00" & CStr(Year(Date())),2) & Right$("00" & CStr(ISOWeekNumber(Date())-nz([tbl_weekcode]![partialscrap],0)),2))) AND ((IIf(InStr(1,[comment]," ")=0,"Fout","Goed"))="goed"));

Hij geeft echter nog steeds aan dat hij de parameter niet kan vinden. weet iemand hoe dat komt?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan