Hej Hej. Vad inte ha Area = 'CH' i din sql frågas where uttryck eller flytta upp updaten innanför din if-sats? Tack för hjälpen! Löste det med den nya syntaxen!Kan inte uppdatera mitt recordset i mysql
Jag använder mig av en mysql-databas som jag anropar via en adodb-connection. Jag har inga problem att radera eller lägga till poster men lyckas inte uppdatera befintliga poster. Jag programmerar i Excel-VBA 2003 och använder mig av Microsoft ActiveX Data Objects 2.7 Library.
När jag öppnat mitt recordset, ändrat värdena och ska uppdatera det så får jag följande felmeddelande:
"Körfel nr '-2147467259 (80004005)'.:"
"Frågebaserad uppdatering misslyckades. Det gick inte att hitta raden som ska uppdateras.
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.ActiveConnection = cn
rs.source = sqlStr
rs.Open
While Not rs.EOF
If rs.Fields("Area") = "CH" Then
rs.Fields("Prod_Res_H2O") = ProdVec(6, 1)
rs.Fields("Prod_Stream_H2O") = ProdVec(5, 1)
rs.Fields("Prod_H2O") = ProdVec(7, 1)
rs.Fields("Prod_Nuc") = ProdVec(8, 1)
rs.Fields("Prod_Heat") = ProdVec(9, 1)
rs.Fields("Pump_Consumption") = ProdVec(10, 1)
rs.Fields("Import") = ProdVec(11, 1)
rs.Fields("Export") = ProdVec(12, 1)
rs.Fields("Net_Import") = ProdVec(13, 1)
rs.Fields("Consumption") = ProdVec(14, 1)
End If
rs.Update
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
Jag har använt samma kod när jag kört mot access men nu blir det stopp!
Mvh
MarkSv: Kan inte uppdatera mitt recordset i mysql
Det går inte att köra Rs.Update mot MySql databaser. Du bör istället skriva SQL UPDATES ex.
UPDATE tbl SET value1='test',name='kalle' where id=1002
Skriv alltså:
<code>
sql="UPDATE tbl SET value1='test',name='kalle' where id=1002"
db.execute(sql)
</code>Sv: Kan inte uppdatera mitt recordset i mysql
Sv:Kan inte uppdatera mitt recordset i mysql
/Mark