PeddaMedlem sedan juni 20006 032 inlägg Har aldrig suttit med VB6 innan så här kommer en nybörjarfråga
Om jag har en Sub
Private Sub dbLarmIn(Datum As String, splititem() As String, _
rs_larmtaggar As Recordset)
Set db_larmIn = OpenDatabase(App.Path & "\larm.mdb")
Set rs_larmIn = db_larmIn.OpenRecordset("larm", dbOpenDynaset)
rs_larmIn.AddNew
rs_larmIn("StartTid") = Datum
rs_larmIn("Givare") = splititem(2)
rs_larmIn("Larmtext") = rs_larmtaggar("larm")
rs_larmIn.Update
rs_larmIn.Close
db_larmIn.Close
End Sub
så trodde jag att man bara skulle kunna köra den med
dbLarmIn(Datum, splititem(2), rs_larmtaggar("larm"))
men det gick ju inte, så hur ska man göra?
@ndersMedlem sedan juni 200032 969 inlägg Du kan inte kalla på en sub med parenteser, det borde du fått veta (av felmeddelande ex.). Antingen gör du det med nyckelordet call, eller utan parenteser runt parameterlistan.
PeddaMedlem sedan juni 20006 032 inlägg Felmeddelandet sa inte så mycket: Compile Error: Syntax Error
Men det går ju inte att bara kalla på suben utan parenteser för då får jag Argument not optional.
@ndersMedlem sedan juni 200032 969 inlägg
- Har du ADODB som referens i ditt projekt?
- Du har angett att den tredje parametern som skall skickas in till subrutinen skall vara ett recordset. Du skickar in ett fältvärde.
Jag skulle bytt den sista parametern till en sträng, strLarm, och sedan i koden:
rs_larmIn("Larmtext") = strLarm
Du skickar också in en sträng som parameter 2, men hanterar som en array, ta bort parenteserna i interfacet och när du använder variabeln.
Så här skulle nog jag provat:
Private Sub dbLarmIn(Datum As String, splititem As String, _
strLarmText as String)
Set db_larmIn = OpenDatabase(App.Path & "\larm.mdb")
Set rs_larmIn = db_larmIn.OpenRecordset("larm", dbOpenDynaset)
rs_larmIn.AddNew
rs_larmIn("StartTid") = Datum
rs_larmIn("Givare") = splititem
rs_larmIn("Larmtext") = strLarm
rs_larmIn.Update
rs_larmIn.Close
db_larmIn.Close
End Sub
Och för att kalla på subrutinen:
Antingen:
dbLarmIn Datum, splititem(2), rs_larmtaggar("larm")
eller:
Call dbLarmIn Datum, splititem(2), rs_larmtaggar("larm"))