Problemet är följande. Om jag öppnar mitt recordset (rsAU) med Open metoden och som parameter sätter adLockOptimistic kan jag sedan använda Update metoden på recordsetet. Nu vill jag göra en ny fråga med ett Command objekt, allt fungerar bra tills jag kör uppdate, recordsetet är i Read läge och tillåter inte uppdateringar. Vad jag förstått ärver Recordsetet parametrar från Command objektet och det är detta som ger mig problem. Hur kan man kringå detta? Använd inte Execute. Du förlora kontrollen då. Tack! Det var ett steg närmare. Jag är lite osäker, men jag tror det är UpdateBatch på Recordset-objektet du letar efter... UpdateBatch ger mig bara möjlighet att uppdatera flera record i samma recordset. Jag vill uppdatera flera tabeller utan att behöva öppna och stänga recordsetet eller skapa ett recordset för varje tabell.Read/Write med ADODB.Command
Set dbA = New ADODB.Connection
Set rsAU = New ADODB.Recordset
Set cmdAU = New ADODB.Command
dbA.CursorLocation = adUseClient
dbA.Mode = adModeReadWrite
dbA.Open "XXX", "XXX", "XXX"
Set cmdAU.ActiveConnection = dbA
cmdAU.CommandText = sSQL_HD_Main
cmdAU.CommandType = adCmdText
rsAU.LockType = adLockOptimistic
Set rsAU = cmdAU.Execute
rsAU!UserName = Text1.Text
rsAU.UpdateSv: Read/Write med ADODB.Command
<code>
Set dbA = New ADODB.Connection
dbA.CursorLocation = adUseClient
dbA.Mode = adModeReadWrite
dbA.Open "XXX", "XXX", "XXX"
Set cmdAU = New ADODB.Command
Set cmdAU.ActiveConnection = dbA
cmdAU.CommandText = sSQL_HD_Main
cmdAU.CommandType = adCmdText
Set rsAU = New ADODB.Recordset
rsAU.LockType = adLockOptimistic
rsAU.Open cmdAU
rsAU!UserName = Text1.Text
rsAU.Update
</code>Sv: Read/Write med ADODB.Command
Nu vill jag dock exekvera en ny SQL sats på samma recordset (jag kommer loopa igenom ett antal tabeller och uppdatera ett genomgående indexfält). Att köra .Open och sedan .Close på recordsetet ter sig ganska långsamt och förhoppningen var att kunna göra en "reexecute" med hjälp av Command objektet utan att behöva öppna och stänga. Går detta eller måste jag köra Open/Close?Sv: Read/Write med ADODB.Command
/JohanSv: Read/Write med ADODB.Command
Jag hittade dock en lösning. Jag ändrar CommandText på Command objektet, kör en execute och sedan en ReQuery på recordsetet, detta fungerar bra.
Tack för hjälpen i alla fall!