Avatar billede darth-domino Nybegynder
08. august 2005 - 08:57 Der er 1 kommentar og
1 løsning

SQL Hjælp!

Jeg har en Access Database med en masse varenumre i. Den skal mit program søge i ved hjælp af 4 variabler:
D = DecimalTal (Eks: 250,6)
d1 = DecimalTal (Eks: 141,6)
b = DecimalTal (Eks: 15,5)
Materiale = Tekst (Eks: AISI 314)

Men den finder ikke noget!

Her er min sætning:

    Dim FraForm_D As Long
    Dim FraForm_d1 As Long
    Dim FraForm_b As Long
   
    FraForm_D = FRM_HovedFlange.txtD.Text
    FraForm_d1 = FRM_HovedFlange.txtd1.Text
    FraForm_b = FRM_HovedFlange.txtb.Text


Set datDB = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\data\Flanger.mdb")
    strSQL = "Select * FROM " & FlangeTabel & " Where [D] LIKE " & Val(FraForm_D) & " AND [B] LIKE " & Val(FraForm_b) & " AND [d1] LIKE " & Val(FraForm_d1) & " AND Materiale like '*" & FRM_HovedFlange.cbo_Materialer.Text & "*'"
    Set rsFlangeSøgning = datDB.OpenRecordset(strSQL)

    'rsFlangeSøgning.MoveFirst

    Do Until rsFlangeSøgning.EOF
        If IsNull(rsFlangeSøgning("Varenummer")) = True Then
            FRM_HovedFlange.lstListe.AddItem TabelFlangeNavn & vbTab & rsFlangeSøgning("Tegningsnummer")
            rsFlangeSøgning.MoveNext
            Counter = Couter + 1
        Else
            FRM_HovedFlange.lstListe.AddItem TabelFlangeNavn & vbTab & rsFlangeSøgning("Varenummer")
            rsFlangeSøgning.MoveNext
            Counter = Couter + 1
        End If
    Loop
Avatar billede darth-domino Nybegynder
08. august 2005 - 11:05 #1
Hvad med denne her:

Public Sub SearchHovedFlangen(FlangeTabel As String)

    On Error GoTo ErrorHandler

    Dim FraForm_D As Double
    Dim FraForm_d1 As Double
    Dim FraForm_b As Double
   
    FraForm_D = CDec(FRM_HovedFlange.txtD.Text)
    FraForm_d1 = CDec(FRM_HovedFlange.txtd1.Text)
    FraForm_b = CDec(FRM_HovedFlange.txtb.Text)
   
    Dim Couter As Long
    Dim TabelFlangeNavn As String
    Counter = 0

    Select Case FlangeTabel
        Case "Angular_Flange_Raw"
            TabelFlangeNavn = "AFR:"
        Case "Flat_Face_Flange"
            TabelFlangeNavn = "FFF:"
        Case "Other_Kinds_Of_Raw_Flanges"
            TabelFlangeNavn = "ORF:"
        Case "Slip_On_Flange"
            TabelFlangeNavn = "SOF:"
        Case "Square_Flange"
            TabelFlangeNavn = "SQF:"
        Case "Support_Flange"
            TabelFlangeNavn = "SPF:"
        Case "Welding_Neck_Flange"
            TabelFlangeNavn = "WNF:"
        Case "Worked_Standard_Flange"
            TabelFlangeNavn = "WSF:"
    End Select

    Set datDB = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\data\Flanger.mdb")
    strSQL = "Select * FROM " & FlangeTabel & " Where [D] =" & FraForm_D & " AND [B] =" & FraForm_b & " AND [d1] =" & FraForm_d1 & ""
    Set rsFlangeSøgning = datDB.OpenRecordset(strSQL)

    'AND [Materiale] like '*" & FRM_HovedFlange.cbo_Materialer.Text & "*'"
    'rsFlangeSøgning.MoveFirst

    Do Until rsFlangeSøgning.EOF
        If IsNull(rsFlangeSøgning("Varenummer")) = True Then
            FRM_HovedFlange.lstListe.AddItem TabelFlangeNavn & vbTab & rsFlangeSøgning("Tegningsnummer")
            rsFlangeSøgning.MoveNext
            Counter = Couter + 1
        Else
            FRM_HovedFlange.lstListe.AddItem TabelFlangeNavn & vbTab & rsFlangeSøgning("Varenummer")
            rsFlangeSøgning.MoveNext
            Counter = Couter + 1
        End If
    Loop

    If Counter = 0 Then GoTo ErrorHandler

    GoTo Oprydning

ErrorHandler:
On Error Resume Next

    Select Case FlangeTabel
        Case "Angular_Flange_Raw"
            FRM_HovedFlange.LBL_AngularFlangeRaw.Visible = True
        Case "Flat_Face_Flange"
            FRM_HovedFlange.LBL_FlatFaceFlange.Visible = True
        Case "Other_Kinds_Of_Raw_Flanges"
            FRM_HovedFlange.LBL_OtherKindsOfRawFlanges.Visible = True
        Case "Slip_On_Flange"
            FRM_HovedFlange.LBL_SlipOnFlange.Visible = True
        Case "Square_Flange"
            FRM_HovedFlange.LBL_SquareFlange.Visible = True
        Case "Support_Flange"
            FRM_HovedFlange.LBL_SupportFlange.Visible = True
        Case "Welding_Neck_Flange"
            FRM_HovedFlange.LBL_WeldingNeckFlange.Visible = True
        Case "Worked_Standard_Flange"
            FRM_HovedFlange.LBL_WorkedStandardFlange.Visible = True
    End Select

Oprydning:

    If Counter = 0 Then Exit Sub
    rsFlangeSøgning.Close
    Set rsFlangeSøgning = Nothing

End Sub
Avatar billede darth-domino Nybegynder
08. august 2005 - 12:28 #2
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
Kurser inden for grundlæggende programmering

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