Avatar billede rickie Juniormester
20. oktober 2006 - 13:58 Der er 9 kommentarer og
1 løsning

Value ikke null

Hej,

Hvordan får jeg denne linie Me.txtBetalningssätt.Value = "" til at hente alle poster. Det virker ikke at bruge <>, <, > eller not like.

    If Me.chkBetalningssätt.Value = True Then
        Me.txtBetalningssätt.Value = txtBetalningssätt.Value
       
    Else
        Me.txtBetalningssätt.Value = ""
    End If
        sSQL = "INSERT INTO tblBook ([selCustomerNo], [selStatus], [selPaymentMethodRent])" & vbCrLf & _
        "SELECT (CUS.[No_]), (RBC.[Customer Status Rent]), (CUS.[Payment Method Rent]) " & vbCrLf & _
        "FROM [dbo_vw_Thorn_Svenska_AB$Customer] AS CUS, [dbo_vw_Thorn_Svenska_AB$Cust__Ledger_Entry] AS CLE, [dbo_vw_Thorn_Svenska_AB$Rent_Billing_Customer] AS RBC" & vbCrLf & _
        "WHERE CLE.[Customer No_] = RBC.[Customer No_] AND CUS.[No_] = RBC.[Customer No_] AND CLE.[Ledger Type] = 2 AND RBC.[Customer Status Rent] = " & txtStatus.Value & " AND CUS.[Payment Method Rent] = '" & txtBetalningssätt.Value & "' AND CUS.[No_] BETWEEN '" & txtKundnummerFrån.Value & "' AND '" & txtKundnummerTill.Value & "' "
        DoCmd.RunSQL sSQL
Avatar billede mugs Novice
20. oktober 2006 - 14:01 #1
If Not IsNull (Me.chkBetalningssätt) Then
Avatar billede rickie Juniormester
21. oktober 2006 - 08:50 #2
Hej Mugs,

Tak for svaret men den bliver du nok nöd til at skäre ud. Hvad skal jeg skrive efter THEN for som det er nu bruger jeg "" men det virker ikke.


Jeg har denne kode:
    If Not IsNull(Me.txtKundnummerFrån.Value) Then
        Me.txtKundnummerFrån.Value = Me.txtKundnummerFrån.Value
    Else
        Me.txtKundnummerFrån.Value = ""
    End If

- Me.txtKundnummerFrån.Value = "" (Denne linie henter ikke noget da det er lig med intet - den skal jo hente alle poster!

:-)
Avatar billede kjulius Novice
22. oktober 2006 - 23:14 #3
I din SQL kunne du m&aring;ske teste p&aring; chkBetalingssätt.Value:

.. AND (Me.chkBetalningssätt.Value = True = True And CUS.[Payment Method Rent] = '" & txtBetalningssätt.Value Or Me.chkBetalningssätt.Value = False) AND ...

Alts&aring;:

sSQL = "INSERT INTO tblBook ([selCustomerNo], [selStatus], [selPaymentMethodRent])" & vbCrLf & _
        "SELECT (CUS.[No_]), (RBC.[Customer Status Rent]), (CUS.[Payment Method Rent]) " & vbCrLf & _
        "FROM [dbo_vw_Thorn_Svenska_AB$Customer] AS CUS, [dbo_vw_Thorn_Svenska_AB$Cust__Ledger_Entry] AS CLE, [dbo_vw_Thorn_Svenska_AB$Rent_Billing_Customer] AS RBC" & vbCrLf & _
        "WHERE CLE.[Customer No_] = RBC.[Customer No_] AND CUS.[No_] = RBC.[Customer No_] AND CLE.[Ledger Type] = 2 AND RBC.[Customer Status Rent] = " & txtStatus.Value & " AND (Me.chkBetalningssätt.Value = True = True And CUS.[Payment Method Rent] = '" & txtBetalningssätt.Value & "' Or Me.chkBetalningssätt.Value = False) AND CUS.[No_] BETWEEN '" & txtKundnummerFr&aring;n.Value & "' AND '" & txtKundnummerTill.Value & "' "


Hvis det ikke skulle virke, er der jo altid metoden med en flerdelt opbygning af SQL strengen:

sSQL = "INSERT INTO tblBook ([selCustomerNo], [selStatus], [selPaymentMethodRent])" & vbCrLf & _
        "SELECT (CUS.[No_]), (RBC.[Customer Status Rent]), (CUS.[Payment Method Rent]) " & vbCrLf & _
        "FROM [dbo_vw_Thorn_Svenska_AB$Customer] AS CUS, [dbo_vw_Thorn_Svenska_AB$Cust__Ledger_Entry] AS CLE, [dbo_vw_Thorn_Svenska_AB$Rent_Billing_Customer] AS RBC" & vbCrLf & _
        "WHERE CLE.[Customer No_] = RBC.[Customer No_] AND CUS.[No_] = RBC.[Customer No_] AND CLE.[Ledger Type] = 2 AND RBC.[Customer Status Rent] = " & txtStatus.Value

If Me.chkBetalingssätt.Value = True Then
    sSQL = sSQL & " AND CUS.[Payment Method Rent] = '" & txtBetalningssätt.Value & "'"
End If

sSQL = sSQL & " AND CUS.[No_] BETWEEN '" & txtKundnummerFr&aring;n.Value & "' AND '" & txtKundnummerTill.Value & "' "
Avatar billede rickie Juniormester
24. oktober 2006 - 10:58 #4
Jeg tjekker det i aften :-)
Avatar billede rickie Juniormester
24. oktober 2006 - 13:12 #5
Hej,

Jeg kan faktiskt ikke få nogel af dem at virke. Gör jeg noget forkert?
Avatar billede kjulius Novice
26. oktober 2006 - 00:22 #6
Den første ved jeg som sagt ikke rigtigt, om den vil virke. Måske, men i hvert fald kun under Access direkt, ikke hvis det skal bruges i ASP eller lign.

Den sidste burde virke, men jeg kan se, at der fejlagtigt er blevet indsat et "&aring;" i stedet for bogstavet å (forhåbentlig bliver det ikke igen oversat til "&aring;", som jo er en HTML "oversættelse" af det specielle nordiske bogstav i den sidste del af sætningsopbygningen.

Prøv at ændre det til bogstavet å, og se om det ikke gør det bedre...
Avatar billede rickie Juniormester
26. oktober 2006 - 10:12 #7
He he! Det havde jeg allerede gjort men det ville ikke aligevel!
Avatar billede rickie Juniormester
31. oktober 2006 - 16:19 #8
Kjulius! Jeg har faktiskt fået det til at virke. Der var nogle "linieskift" som ikke var helt som de skulle.

Svar for velfortjente points ;-)
Avatar billede rickie Juniormester
31. oktober 2006 - 16:20 #9
...og her er koden:

...
sSQL = "INSERT INTO tblBrevbokning ([brvKundnummer], [brvNamn1], [brvNamn2], [brvAdress1], [brvAdress2], [brvPostnummer], [brvStad], [brvBelopp],[brvDatum], [brvOcr], [brvBrevId], [brvPapper], [brvSlumpId])" & vbCrLf & _
        "SELECT (CUS.[No_]), (CUS.[Name]), (CUS.[Name 2]), (CUS.[Address]),(CUS.[Address 2]), (CUS.[Post Code]), (CUS.[City]), SUM(CLE.[Remaining Amount]), Date(), (CUS.[New Rental KID]), " & txtBrev.Value & ", 'Giro', " & SlumpId & " " & vbCrLf & _
        "FROM [dbo_vw_Thorn_Svenska_AB$Customer] AS CUS, [dbo_vw_Thorn_Svenska_AB$Comment_Line] AS CLI, [dbo_vw_Thorn_Svenska_AB$Cust__Ledger_Entry] AS CLE, [dbo_vw_Thorn_Svenska_AB$Rent_Billing_Customer] AS RBC" & vbCrLf & _
        "WHERE CUS.[No_] = RBC.[Customer No_] AND CUS.[No_] = CLI.[No_] AND CLE.[Customer No_] = RBC.[Customer No_] AND CLE.[Ledger Type] = 2 AND CLI.[Comment] LIKE '*Täckning*' AND CLI.[Date] BETWEEN #" & txtDatumFrån.Value & " 00:00:00# AND #" & txtDatumTill.Value & " 23:59:59# "


'CUSTOMER txtSTATUS - MED ELLER INTE - START
    If Not IsNull(Me.txtStatus.Value) Then
        sSQL = sSQL & " AND RBC.[Customer Status Rent] = " & txtStatus.Value & " "
    End If
'CUSTOMER txtSTATUS RENT - MED ELLER INTE - SLUT
   
'CUSTOMER txtBETALNINGSSÄTT - MED ELLER INTE - START
    If Not IsNull(Me.txtBetalningssätt.Value) Then
        sSQL = sSQL & " AND CUS.[Payment Method Rent] = '" & txtBetalningssätt.Value & "' "
    End If
'CUSTOMER txtBETALNINGSSÄTT - MED ELLER INTE - SLUT
   
'CUSTOMER txtBETALNINGSSÄTT - MED ELLER INTE - START
    If Not IsNull(Me.txtBetalningssätt.Value) Then
        sSQL = sSQL & " AND CUS.[Payment Method Rent] = '" & txtBetalningssätt.Value & "' "
    End If
'CUSTOMER txtBETALNINGSSÄTT - MED ELLER INTE - SLUT
...
Avatar billede kjulius Novice
31. oktober 2006 - 21:50 #10
Godt.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester