|
| Update / SET Fra : Morten Snedker |
Dato : 04-02-04 21:27 |
|
Jeg har disse tre updates, som af indlysende grunde kører i den
rækkefølge (MS ADP-fil mod SQL-Server 2000):
con.Execute "Update Vare Set Nettopris=" & Replace(rs!Felt20, ",",
".") & " Where Varenummer=" & rs!felt11
con.Execute "Update Vare Set Nettopris=Nettopris/100 Where
Varenummer=" & rs!felt11
con.Execute "Update Vare Set
Listepris=((Nettopris+(Nettopris*1.15))*1.25) Where Varenummer=" &
rs!felt11
1. Nettopris gives det rigtige format
2. Nettoprisen korrigeres
3. Listeprisen udregnes på den korrigerede Nettorpis
Mit spørgsmål er: kan det gøres på én "Update Vare..." ? Eller på en
anden måde: er Nettoprisen korrekt i det øjeblik Listeprisen beregnes
hvis den indgår som den sidste af de tre SET's i en Update?
X-FUT: dk.edb.database.ms-access
mvh /Snedker
| |
Jens Gyldenkærne Cla~ (04-02-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 04-02-04 22:58 |
|
Morten Snedker skrev:
> con.Execute "Update Vare Set Nettopris=" & Replace(rs!Felt20,
> ",", ".") & " Where Varenummer=" & rs!felt11
Henter du data til rs (rs!Felt20 og rs!felt11) fra samme sql-server
som den database du vil opdatere ligger på? I så fald kan du slippe
for konverteringsfejl ved at køre det fra tabel til tabel.
Enten som en join-update:
UPDATE v
SET Nettopris = x.Felt20
FROM Varer v INNER JOIN Andentabel x
ON v.Varenummer = x.felt11
- eller også som et batch (evt. gemt som lagret procedure)
DECLARE @nypris float
DECLARE @varenummer int
SELECT @nypris = Felt20, @varenummer = Felt11
FROM Andentabel
WHERE foo = bar /* Et kriterium der vælger én korrekt post */
UPDATE Varer
SET Nettopris = @nypris
WHERE varenummer = @varenummer
> X-FUT: dk.edb.database.ms-access
Du har vist glemt fut'en. Jeg sætter opfølgningen til
databasegruppen - ovenstående er ikke specifik Access-sql.
X-Post über 2 Gruppen, FollowUp-To dk.edb.database
--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information
| |
|
|