18. maj 2004 - 16:23
Der er
15 kommentarer og 2 løsninger
afrund op til hele tal
jeg har denne kode:Public Function p() Dim SQL As String Dim Antal As Long Dim cn As ADODB.Connection Set cn = CurrentProject.Connection SQL = "INSERT INTO tabel4 (levnavn, Price, ProductNumber, Description, StockAmount, Weight, ProductName, Manufacturer) SELECT t1.levnavn, t1.Price, t1.ProductNumber, t1.Description, t1.StockAmount, t1.Weight , t1.ProductName, t1.Manufacturer " SQL = SQL & "FROM (SELECT levnavn, Price, ProductNumber, Description, StockAmount, Weight, ProductName, Manufacturer FROM tabel1 " SQL = SQL & "UNION ALL SELECT levnavn, Price, ProductNumber, Description, StockAmount, Weight, ProductName, Manufacturer FROM tabel2) " SQL = SQL & "as t1, " SQL = SQL & "(SELECT min(Price) as mPrice, ProductNumber " SQL = SQL & "FROM (SELECT Price, ProductNumber FROM tabel1 " SQL = SQL & "UNION ALL SELECT Price, ProductNumber FROM tabel2 " SQL = SQL & ") GROUP BY ProductNumber) as t2 " SQL = SQL & "WHERE t1.Price = t2.mPrice AND t1.ProductNumber = t2.ProductNumber ORDER BY t1.levnavn;" cn.Execute SQL, Antal MsgBox Antal & " poster blev tilføjet!", vbExclamation, "Done!" End Function den sætter en Price ind i tabel4 den vil jeg gerne have altid bliver et helt tal (round) f.eks 599 og ikke 599.256 hjælp og tak
Annonceindlæg fra Computerworld
AI-agenterne kommer vrimlende
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Skal den afrunde både op og ned eller kun ned?
Round(tal) runder både op og ned.
ok det er også fint nok... men kan du ikke lige sætte koden ind :-)
øh....dt eks med 599.256 rundede jo ned til 599? Har du prøvet med Round?
ok med at runde op og ned... men hvordan sætter jeg round ind?
Prøv med: SQL = "INSERT INTO tabel4 (levnavn, Price, ProductNumber, Description, StockAmount, Weight, ProductName, Manufacturer) SELECT t1.levnavn, Round(t1.Price), t1.ProductNumber, t1.Description, t1.StockAmount, t1.Weight , t1.ProductName, t1.Manufacturer " SQL = SQL & "FROM (SELECT levnavn, Price, ProductNumber, Description, StockAmount, Weight, ProductName, Manufacturer FROM tabel1 " SQL = SQL & "UNION ALL SELECT levnavn, Round(Price), ProductNumber, Description, StockAmount, Weight, ProductName, Manufacturer FROM tabel2) " SQL = SQL & "as t1, " SQL = SQL & "(SELECT round(min(Price)) as mPrice, ProductNumber " SQL = SQL & "FROM (SELECT round(Price), ProductNumber FROM tabel1 " SQL = SQL & "UNION ALL SELECT round(Price), ProductNumber FROM tabel2 " SQL = SQL & ") GROUP BY ProductNumber) as t2 " SQL = SQL & "WHERE t1.Price = t2.mPrice AND t1.ProductNumber = t2.ProductNumber ORDER BY t1.levnavn;"
hvad med i denne forspørgsel.. det er måske nemmerer NyPris: IIf([tabel4]![Price]>[tabel6]![Price];[tabel4]![Price]*1;[tabel6]![Price]-6)
NyPris: IIf([tabel4]![Price]>[tabel6]![Price];round([tabel4]![Price]);[tabel6]![Price]-6)
Jeg er nødt til at løbe et par timer (jeg har en familie, som mener at de er berettiget til mad og omsorg, tsk tsk ;) Men jeg er tilbage senere, hvis du skulle få brug for det (ellers er der sikkert andre so springer til :)
det virker desværre ikke helt den sidste..
hvad med: NyPris: IIf([tabel4]![Price]>[tabel6]![Price];[tabel4]![Price]*1;round)[tabel6]![Price])-6)
de går godt: NyPris: IIf([tabel4]![Price]>[tabel6]![Price];[tabel4]![Price]*1;round([tabel6]![Price])-6)
den sidste virker med at runde op men så sætter den dobbelt ind i tabellen isted for to varer som den sammenligner sætter den 4 ind ? to gange af hver
jamen jamen det virker vildt godt.... takker og velbekommen .. hvad fik I ?
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser