OveRRidEMedlem sedan feb. 200112 078 inlägg Jag har försökt att fixa detta men inte lyckats ordentligt...
Jag skall ur en tabell hämta artikelnummer och katid, och sedan i en annan tabell lägga in detta kategori-id på den rad som har det artikelnummer som jag hämtade ut första.
Sen skall detta loopas igenom så att detta görs till dess att det inte finns några rader som inte gåtts igenom i första tabellen.
nån som förstår? :q
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
LarsGMedlem sedan dec. 200012 464 inlägg Något slikt detta kanske
update annantabell
set katid = (select katid
from forstatabell
where artikelnummer = annantabell.artikelnummer)
------------------
essentitia preter non sans multiplicandum
OveRRidEMedlem sedan feb. 200112 078 inlägg Hrm..
kan man "nesta" sql-satser på det sättet? :)
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
OveRRidEMedlem sedan feb. 200112 078 inlägg fråga 2: kommer den gå igenom alla poster som matchar kriteriet nu då?
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
LarsGMedlem sedan dec. 200012 464 inlägg Alla poster i annantabell blir uppdaterade. Om den innehåller ett artikelnummer som inte finns i forsttabell så blir katid null i den posten.
Svar på fråga 1:
Beror på dbms.
------------------
essentitia preter non sans multiplicandum
OveRRidEMedlem sedan feb. 200112 078 inlägg vad menar du med
Beror på dbms.
Hur man öppnat db:n eller?
jag kör med vanlig
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/priser.mdb"))
'o sen en fin SQL-fråga
det borde väl funka
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
icaaqMedlem sedan okt. 20005 273 inlägg vad han menar är om man kör access, mySQL , MS SQL eller någon annan databasmotor :)
------------------
I like ¼ £ whith cheese
LarsGMedlem sedan dec. 200012 464 inlägg Jag menar att det är SQL-standard att skriva så men att alla DBMS (t.ex. Mysql) inte har stöd för det.
------------------
essentitia preter non sans multiplicandum
OveRRidEMedlem sedan feb. 200112 078 inlägg EKO Eko eko
:e
ok ;)
jaja så här ser min kod ut nu iaf.. men jag får inget på raderna efter att den körts...
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/priser.mdb"))
Set SQLstr = Connect.Execute("UPDATE priswebsverige SET katid = (SELECT katid FROM kat_join WHERE artnr = priswebsverige.art")
Connect.Close
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
LarsGMedlem sedan dec. 200012 464 inlägg Det ser ju ok ut.
Vad får du ut om du kör denna select direkt i Access
SELECT katid
FROM kat_join,priswebsverige
WHERE kat_join.artnr = priswebsverige.art
------------------
essentitia preter non sans multiplicandum
OveRRidEMedlem sedan feb. 200112 078 inlägg Felmeddelande:
Microsoft JET Database Engine error '80004005'
Operation must use an updateable query.
/add_kol.asp, line 26
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
LarsGMedlem sedan dec. 200012 464 inlägg Sök på updateable query.
(Det är något med rättigheter på databasfilerna som inte är korrekt inställt.)
------------------
essentitia preter non sans multiplicandum
OveRRidEMedlem sedan feb. 200112 078 inlägg Efter körning direkt i Access:
The specefied field 'katid' could refer to more than one table listed in the FROM clause of your SQL statement.
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
OveRRidEMedlem sedan feb. 200112 078 inlägg sök efter updatable query var nånstans? msdn kanske..
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
OveRRidEMedlem sedan feb. 200112 078 inlägg Hittat på msdn efter sökning:
You attempted to run a query that tried to update a field that cannot be updated. For example, you may have created the query in such a way that you tried to update a field on the one side of a one-to-many relationship.
humma? :q
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
LarsGMedlem sedan dec. 200012 464 inlägg Jag tänkte på sökfunktionen här på Webforum.
Jag vet att det finns tidigare trådar där problem med updateable query har diskuteras.
SELECT kat_join.katid
FROM kat_join,priswebsverige
WHERE kat_join.artnr = priswebsverige.art
Jag tänkte bara att det är bäst att testa ut att joinen fungerar och att det finns matchande poster, men det kan ju anstå tills dess att du har löst problemet med updateable query.
------------------
essentitia preter non sans multiplicandum
OveRRidEMedlem sedan feb. 200112 078 inlägg MSDN sökning gav:
GREJ 1
Another very common cause is when the join includes linked ODBC tables that do not have unique indexes. In this case, there is no way for SQL to guarantee that records are unique in a table that has fields whose value will change with the query.
Detta enligt vad jag förstår innebär att en av tabellerna inte har någon primärnyckel (vilket jag faktiskt kommer ihåg att en av dem inte har) och då kan inte SQL garantera unika id i tabellen, vilket resulterar i fel.. eller?
GREJ 2
A second cause of this error is that the database was not opened with the correct MODE for writing. If you perform the Open on the Connection object, you use the Mode property to indicate the permissions on the connection as shown here.. bla habla bla exempel kod..
Och detta då? Jag har för mig (tänker så långt näsan räcker) att det inte går att uppdatera med Execute-metoden.. eller har jag fel?
jag skall testa lite till, tacksam för svar.
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
[Redigerat av OveRRidE den 23 aug 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Att använda execute för att göra update skall inte vara något problem.
Jag hittade detta inlägg från @nders som svar på frågan om updateable query
rättigheter. IUSR_datornamn måste ha tillräckliga rättigheter i mappen databasen ligger, rxwd.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 23 aug 2001]
OveRRidEMedlem sedan feb. 200112 078 inlägg ok.. många inlägg i rad här nu.. hoppas nån har förståelse med mig.. :e
det är den andra delen av sql frågan som är fel för
Set SQLstr = Connect.Execute("UPDATE priswebsverige SET katid = 1")
fungerade nämligen utmärkt..
såhär ser hela sql-frågan ut, för er som inte sett den:
Set SQLstr = Connect.Execute("UPDATE priswebsverige SET katid = (SELECT katid FROM kat_join WHERE artnr = priswebsverige.art)")
:) hjälp?
[kod]
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
OveRRidEMedlem sedan feb. 200112 078 inlägg mappen har rätt rättigheter, det har jag kollat en två och tre gånger.. :(
som sagt se ovan
------------------
Set myWorld = Connect.Execute("DELETE * FROM world WHERE sex = "male"")
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence