VBA Probleem ???

Status
Niet open voor verdere reacties.

Powerblade

Gebruiker
Lid geworden
21 mrt 2008
Berichten
60
Hi allemaal,

Ben al een paar dagen opzoek, maar ik kom er niet uit. Ben al heel eind, maar net dat laatste :confused:

Ik heb een combo : idd, search as you type. Tijdens typen komt een lijst:

Naam - Prijs enz enz..

Wat ik wil is een extra veldje voorraad erbij. Dus : Naam - prijs - voorraad.

Nu heb ik de volgende vba code:

Code:
With Me.idd
        If Len(Trim(.Text)) > 0 Then
            strText = Replace(.Text, "*", "")
            strFind = " model Like ""*" & strText & "*"""
            strSQL = "SELECT [imei-1] AS imei,inkoop_id_no,model, kleur, staat, prijsink, prijsverk FROM status_id LEFT JOIN tbl_ink_id ON status_id.statusid = tbl_ink_id.status WHERE " & _
    strFind & ""
        Else
            strSQL = "SELECT tbl_ink_id.[imei-1] AS imei, tbl_ink_id.inkoop_id_no, tbl_ink_id.model AS Naamproduct, tbl_ink_id.kleur, status_id.staat, tbl_ink_id.prijsink, tbl_ink_id.prijsverk, qry_totaalinkoop_bulk.SomVanaantalbulk AS Totinkoop, IIf((IsNull([SomVanaantal])),0,[SomVanaantal]) AS Totverkocht, [Totinkoop]-[Totverkocht] AS voorraad " & vbCrLf & _
"FROM ((tbl_ink_id LEFT JOIN qry_totaalinkoop_bulk ON tbl_ink_id.inkoop_id_no = qry_totaalinkoop_bulk.inkoop_id_no) LEFT JOIN qry_totaalverkocht ON tbl_ink_id.inkoop_id_no = qry_totaalverkocht.[Product-id]) LEFT JOIN status_id ON tbl_ink_id.status = status_id.statusid ;"

        End If

De ELSE part werkt perfect als LEN = 0. Maar las LEN >0 dan heb ik alleen op deze manier werkend gekregen zonder voorraad veldje. Dus zowel bij LEN =0 ALS LEN >0 moet de SQL zelfde zijn als de ELSE part..:)

Dank alvast...:thumb:
 
Ik heb 'm een paar keer doorgelezen, maar ik snap niet wat je wilt. Ik vermoed dat idd je keuzelijst is, maar wat je daar verder mee wilt? In een keuzelijst kies je een optie, dus .Text heeft helemaal geen nut volgens mij. Hooguit vind je een waarde uit de lijst (of niet, wat natuurlijk ook kan) en daar ga je dan mee aan de slag. .Text gebruikt je op tekstvakken.
 
Dank voor reactie.

Het probleem zit in het WHERE gedeelte eigenlijk. zal wel iets kleins zijn maar ik zie het niet.

Code:
strSQL = "SELECT tbl_ink_id.[imei-1] AS imei, tbl_ink_id.inkoop_id_no, tbl_ink_id.model AS Naamproduct, tbl_ink_id.kleur, status_id.staat, tbl_ink_id.prijsink, tbl_ink_id.prijsverk, qry_totaalinkoop_bulk.SomVanaantalbulk AS Totinkoop, IIf((IsNull([SomVanaantal])),0,[SomVanaantal]) AS Totverkocht, [Totinkoop]-[Totverkocht] AS voorraad " & vbCrLf & _
"FROM ((tbl_ink_id LEFT JOIN qry_totaalinkoop_bulk ON tbl_ink_id.inkoop_id_no = qry_totaalinkoop_bulk.inkoop_id_no) LEFT JOIN qry_totaalverkocht ON tbl_ink_id.inkoop_id_no = qry_totaalverkocht.[Product-id]) LEFT JOIN status_id ON tbl_ink_id.status = status_id.statusid ;"

        End If

Bovenstaande code is het ELSE gedeelte en dit werkt prima.

Code:
With Me.idd
        If Len(Trim(.Text)) > 0 Then
            strText = Replace(.Text, "*", "")
            strFind = " model Like ""*" & strText & "*"""
            strSQL = "SELECT [imei-1] AS imei,inkoop_id_no,model, kleur, staat, prijsink, prijsverk FROM status_id LEFT JOIN tbl_ink_id ON status_id.statusid = tbl_ink_id.status WHERE " & _
    strFind & ""
        Else

Deze IF gedeelte werkt ook prima.

Ik wil het volgende:

If LEN = 0 dan zie ik volgende velden:
imei- Naamproduct- kleur-staat-prijsink,-prijsverk- voorraad

MAAR if LEN >0, dan zie ik:
imei- Naamproduct- kleur-staat-prijsink,-prijsverk

Dus geen VOORRAAD... WAT DE BEDOELING is dat het ook bij LEN>0 erbij staat.
ALS ik strSQL van het ELSE gedeelte copy paste naar het IF geedeelte, DAN haak ik bij WHERE strfind werkt op een van de manier niet.

Ik hoop dat het wat duidelijker is.:confused:
 
Laatst bewerkt:
Ik snap er steeds minder van...
If LEN = 0 dan zie ik volgende velden:
imei- Naamproduct- kleur-staat-prijsink,-prijsverk- voorraad
MAAR if LEN >0, dan zie ik:
imei- Naamproduct- kleur-staat-prijsink,-prijsverk
Dus geen VOORRAAD... WAT DE BEDOELING is dat het ook bij LEN>0 erbij staat.
Dus, want ik kan het echt niet anders lezen: als de LEN (lengte van wat?) >0, dan wil je exact hetzelfde zien als bij LEN=0? Dan is het toch simpel: overal dezelfde velden?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan