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
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