"Expected function or variable"-fejl?
Hejsa eksperten.dkjeg har for første gang i 3 år sat mig til at lave et lille program i vb, og nu er jeg stødt på denne fejl når jeg forsøger at teste mit program...
Compile error:
Expected Function or variable
Min kode er som følger:
Option Explicit
Dim conn As connection
Dim rs As Recordset
Dim arrListe(100) As String
Function CreateList(Liste() As String)
List1.Clear
For i = 0 To 100
If Liste(i) = "" Then
Exit For
Else
List1.AddItem Liste(i)
End If
Next
End Function
Function connection()
conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\items.mdb"
End Function
Private Sub Combo1_Click()
If Combo1.Text = "Armors" Or Combo1.Text = "Weapons" Or Combo1.Text = "Belts" Or Combo1.Text = "Boots" Or Combo1.Text = "Gloves" Or Combo1.Text = "Shields" Or Combo1.Text = "Helms" Then
Combo2.Visible = True
Else
Combo2.Visible = False
connection
If Combo1.Text = "Runewords" Then
Set rs = conn.Execute("select navn from runewords, runes order by navn")
Else
Set rs = conn.Execute("select navn from uniques where type='" & Combo1.Text & "' order by navn")
End If
If Not rs.EOF Then
iTal = 0
Do While Not rs.EOF
arrListe(iTal) = rs("navn")
iTal = Val(iTal) + 1
Loop
Set iTal = Nothing
End If
Set rs = Nothing
conn.Close
CreateList (arrListe)
Set arrListe = Nothing
End Sub
Private Sub Combo2_click()
connection
Set rs = conn.Execute("select navn from uniques where type='" & Combo1.Text & "' and subtype='" & Combo2.Text & "' order by navn")
If Not rs.EOF Then
iTal = 0
Do While Not rs.EOF
arrListe(iTal) = rs("navn")
iTal = Val(iTal) + 1
Loop
Set iTal = Nothing
End If
CreateList (arrListe)
Set arrListe = Nothing
Set rs = Nothing
conn.Close
End Sub
Private Sub Command1_Click()
Dim iTal As Integer
Dim rs2 As Recordset
If Combo3.Text = "Søgeemne" Then
MsgBox "Du skal vælge et søgeemne først"
Else
connection
If Combo3.Text = "Stats" Then
Set rs = conn.Execute("select subid from weapon, armor, other, runes where stats like *" & Text1.Text & "*")
If Not rs.EOF Then
iTal = 0
Do While Not rs.EOF
Set rs2 = conn.Execute("select navn from uniques, runewords where id=" & rs("subid") & " order by navn")
arrListe(iTal) = rs("navn")
iTal = Val(iTal) + 1
Loop
Set rs2 = Nothing
Set iTal = Nothing
End If
Else
Set rs = conn.Execute("select navn from uniques, runewords where " & Combo3.Text & " like *" & Text1.Text & "* order by navn")
If Not rs.EOF Then
iTal = 0
Do While Not rs.EOF
arrListe(iTal) = rs("navn")
iTal = Val(iTal) + 1
Loop
Set iTal = Nothing
End If
End If
CreateList (arrListe)
Set rs = Nothing
Set arrListe = Nothing
conn.Close
End If
End Sub
Private Sub Form_Load()
Combo1.AddItem "Itemtype"
Combo1.AddItem "Amulets"
Combo1.AddItem "Armors"
Combo1.AddItem "Belts"
Combo1.AddItem "Boots"
Combo1.AddItem "Charms"
Combo1.AddItem "Circlets"
Combo1.AddItem "Class specific"
Combo1.AddItem "Gloves"
Combo1.AddItem "Helms"
Combo1.AddItem "Jewels"
Combo1.AddItem "Rings"
Combo1.AddItem "Runes"
Combo1.AddItem "Runewords"
Combo1.AddItem "Shields"
Combo1.AddItem "Weapons"
Combo2.AddItem "Normal unique"
Combo2.AddItem "Exceptional unique"
Combo2.AddItem "Elite unique"
Combo3.AddItem "Søgeemne"
Combo3.AddItem "Class"
Combo3.AddItem "Item-type"
Combo3.AddItem "Ladder-only"
Combo3.AddItem "Navn"
Combo3.AddItem "Patch"
Combo3.AddItem "Stats"
Combo2.Visible = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub List1_Click()
Dim rs2 As Recordset
Dim strItem As String
Set rs = conn.Execute("select * from uniques where navn='" & List1.Text & "'")
If rs.EOF Then
Set rs = conn.Execute("select * from runewords where navn='" & List1.Text & "'")
If rs.EOF Then
Set rs = conn.Execute("select * from runes where navn='" & List1.Text & "'")
If rs.EOF Then
MsgBox "Beklager, der findes ingen item med det navn"
Else
'det er en rune
strItem = rs("navn") & Chr(13) & Chr(13) & "Weapons:" & Chr(13) & rs("weapon") & Chr(13) & Chr(13) & "Armor/Helms/Shields" & Chr(13) & rs("armor") & Chr(13) & Chr(13) & "Level Required" & Chr(13) & rs("lvl")
End If
Else
'det er et runeword
strItem = rs("navn") & Chr(13) & rs("item") & Chr(13) & Chr(13) & rs("runer") & Chr(13) & Chr(13) & Replace(rs("stats"), "<br>", Chr(13)) & Chr(13)
If rs("ladder-only") = True Then
strItem = strItem & "OBS: Ladder only runeword!" & Chr(13)
End If
strItem = strItem & Chr(13) & "Virker fra patch " & rs("patch")
End If
Else
'det er et unique item
strItem = rs("navn") & Chr(13) & rs("item-type") & Chr(13) & Chr(13)
If rs("type") = "våben" Then
Set rs2 = conn.Execute("select * from weapon where subId=" & rs("id") & "")
strItem = strItem & rs2("dmg") & Chr(13)
ElseIf rs("type") = "armor" Or rs("type") = "shield" Or rs("type") = "gloves" Or rs("type") = "boots" Or rs("type") = "belt" Or rs("type") = "helm" Then
Set rs2 = conn.Execute("select * from armor where subId=" & rs("id") & "")
strItem = strItem & rs2("def") & Chr(13)
Else
Set rs2 = conn.Execute("select * from other where subId=" & rs("id") & "")
End If
strItem = strItem & Replace(rs2("req"), "<br>", Chr(13)) & Chr(13)
If rs("class") <> "" Then
strItem = strItem & "[" & rs("class") & "]" & Chr(13)
End If
strItem = strItem & Chr(13) & rs2("stats") & Chr(13)
If rs("ladder-only") = True Then
strItem = strItem & "OBS: Ladder only item" & Chr(13)
End If
strItem = strItem & Chr(13) & "Findes fra patch " & rs("patch")
End If
Label2.Caption = strItem
Image1.Picture = LoadPicture(App.Path & "\images\" & List1.Text & ".jpg")
End Sub
Private Sub List1_LostFocus()
Label2.Caption = ""
Image1.Picture = LoadPicture()
End Sub
Når jeg vælger et punkt i Combo1 er det fejlen kommer i Combo1_Click(), hvis jeg trykker på knappen for at søge kommer fejlen i Command1_click()
Kan nogen hjælpe mig med mit lille problem?
