Jag försöker så här: Jo, jag använder mig av SQL server, och där är det satt. Hej Nej, det är en sp(stored Produse) Hej Men var har du deklararerat din variabel con? Jag har en modul, där jag ansluter till SQL Servern. Nix, det hjälpte inte. Min fråga gällde om con är giltig i det scope där du använder den? Är den >Min fråga gällde om con är giltig i det scope där du använder den? Är >den publik i modulen eller? Kolla här: Hmm har du testat VB:s generella lösning när något inte fungerar av Hej Stored Prucedure kanske? ;) Ursäkta, jag stavade fel.Nya problem med Stored Pruduse
Sub TopFem()
Dim spTopFem As String
Set Rst = Con.Execute("spTopFem")
osv....
End Sub
Och vill dra igång subben i Form Load men får följande felmedelande:
RunTime error nr '91'
Objectvariable or With block variable not set.
Jag tror inte att jag har sett det här tidigare, vad har jag glömt??Sv: Nya problem med Stored Pruduse
Det som är märkvärdigt är att om jag istället lägger denna kod i Lv2_click() så fungerar det kanon, men inte om jag gör en egen sub.Sv: Nya problem med Stored Pruduse
Dim spTopFem As String
Set Rst = Con.Execute("spTopFem")
Variabeln spTopFem verkar ju helmysko,den är ju lokal
Vad har den för värde ?.En tom sträng som det är skrivet
nu.Varifrån skall den få ett värde ?Har du två variabler
med samma namn ?
undrar
SvenSv: Nya problem med Stored Pruduse
När jag lägger den någon annan stans, så fungerar det, men jag vill helst ha den i en egen sub.
Så här har jag försökt i flera timmar..
Dim spTopFem As String
Set Rst = Con.Execute("spTopFem")
Samma error.Sv: Nya problem med Stored Pruduse
Antinge får du lägga din Sub i en BasModul och göra den Public
Eller testa så här
Public Sub TopFem()
Dim spTopFem As String
Set Rst = Con.Execute("spTopFem")
End Sub
På den plats den nu ligger, Se till att databasen är öppnad innan.
spånar
SvenSv: Nya problem med Stored Pruduse
den kanske inte är giltig i det scopet?
och om det inte är den, vilken rad stannar debuggern på?
/EmmaSv: Nya problem med Stored Pruduse
Där har jag deklarerat con som connection osv.
Det som är lustigt är, att om jag t ex lägger sp:n under någon sub med klick(knapp eller dyl) så är det inga problem. Men vad jag vill är att ha den i en vanlig sub, som jag sen drar igång under form load.
Jag börjar fundera på om det inte är någonting som jag har missat, t ex att stänga några object. Jag vet att i ASP så kan man få många lustiga fel om man missar det.
Det är inte sagt att det är det felet, men det är ide att testa.Sv: Nya problem med Stored Pruduse
Jag drar igång SQL Servern på det sätt som Pelle har visat i en lektion.
Inga andra ideér?Sv: Nya problem med Stored Pruduse
publik i modulen eller?
Lägg in en break på raden innan allt händer och kolla vad alla variabler
håller i. Håller con i en connection där?
/EmmaSv: Nya problem med Stored Pruduse
Nu är jag nog ute och segla, men är inte alla moduler public ifrån början?
Objectet con fungerar överallt (utom just här)
Vad jag förstår så är problemet just med con, men varför?
Jag använder den som sagt till alla subbarna utan problem.
Om jag t ex har en knapp, och i händelsen click lägger in denna SP:n med con, så är det inga problem. Problem kommer när jag gör en egen sub, som jag sedan vill dra igång under form load.
Jag har löst mitt problem, men på ett väldigt klumpigt sätt (genom att dra igång den i en annan sub), men jag ville helre koda snyggt, och få den i en egen sub.Sv: Nya problem med Stored Pruduse
Module Exempel
Public con as Adodb.Connection
Sub SkapaConnection
set con = new adodb.connection
con.open "blabla"
end sub
Sub MinSp
dim minrs as adodb.Recordset
set minrs = con.execute("sprajraj")
end sub
Sub Main
MinSp
SkapaConnection
End Sub
Om du har MinSp före SkapaConnection i Main subben så är ingen förbindelse mot databasen öppnad, och därför klagar vb.
Du måste se till att con är öppnad innan MinSp körs.Sv: Nya problem med Stored Pruduse
någon oförklarlig anledning? Stänga ner programmet och starta om.
Har varit med om att VB ibland bara hoppat över vissa rader vid
kompileringen, vilket kan ge en del konstiga fel.
Det du deklarerar i en modul är publikt om du inte säger att den ska vara
privat. Om du deklarerat variabeln i general i modulen - se nedan. Annars
är den inte publik. Är den deklararerad så ska du kunna använda den
precis överallt.
Mvh Emma
---mdl--
public con as connection
-----------------------------------
private sub .............
...
...
...Sv: Nya problem med Stored Pruduse
Nej kära Emma , jag är på gott humör
men jag förstår inte vad Stored Pruduse är för nått :-;
DSSv: Nya problem med Stored Prucedure
/emma - trött men har slutledningsförmågan kvar.... ;)Sv: Nya problem med Stored Prucedure
Nu är fallet löst.
VB tyckte tydligen om mitt namn på subben. Jag döpte om subben och voila....
Tack för att ni har tagit er tid på att hjälpa mig.