/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
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

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste