Avatar billede Slettet bruger
24. marts 2006 - 08:04 Der er 10 kommentarer og
1 løsning

SQL lykke

Herlig titel....

Jeg mener selvfølgelig løkke!~)

Her er en sql:

INSERT INTO tVarWeight ( id, Itemno, InPalno )
SELECT 834083 AS Expr1, 10303 AS Expr2, [T0028176] AS Expr3
FROM tVarWeight;

Det virker men problemet er at jeg skal tilføje alle itemno op til itemno 834282. Kan man ikke lave en løkke i sql'en?~)
Avatar billede terry Ekspert
24. marts 2006 - 09:04 #1
Dont think so. You will need to do it in code, or another idea was to put the numbers in a table, either manually or code, and then select from the table.
Avatar billede Slettet bruger
24. marts 2006 - 09:07 #2
hmmm....
Avatar billede Slettet bruger
24. marts 2006 - 09:18 #3
Jeg kan se i SQL Bible by Alex Kriegel og Boris M. Trukhnov at man kan lave loops a'la:

WHILE <condition>
DO
  <statement1>;
  [<statement2>;]...
END WHILE

men hvordan jeg skal bruge denne oplysning er jeg ikke helt klar over!~)
Avatar billede jesperthomsen Nybegynder
24. marts 2006 - 09:42 #4
Jeg ville lave kode (det gør jeg på den anden side næsten altid)

dim rsTvarWeight as recordset
dim id as long

  set rsTvarWeight = currentdb.openrecordset("tVarWeight")
  for id = 834083 to 834282
    rsTvarWeight.addnew
    rsTvarWeight!id = id
    rsTvarWeight.update
  next itemno

  rsTvarWeight.close
  set rsTvarWeight = nothing

Jeg har bare skrevet koden direkte her, så jeg er ikke sikker på om den kan kompileres. Du skal selvfølgelig sørge for at indsætte de øvrige værdier i tabellen; jeg har bare vist princippet.
Avatar billede terry Ekspert
24. marts 2006 - 09:49 #5
there are different versions of SQL, and Access doesnt support it
Avatar billede Slettet bruger
24. marts 2006 - 09:57 #6
terry>ja, jeg ved det godt og jeg har heller ikke fortalt hele historien, fordi faktisk så står jeg og retter manuelt i en tabel i en sql database. Jeg har ikke meget forstand på det, men nogen skal jo gøre det og jeg har de bedste forudsætninger!!!! Jeg er næsten færdig, men problemet vil opstå igen, såeh..
Lige nu skriver jeg id numrene manuelt og så opdaterer jeg:

UPDATE dbo.tVarWeight
SET    Itemno = '10303', InPalno = 'T0028176'
WHERE  (Id>='834083') AND (Id<='834282')

Det er dette jeg gerne ville gøre på en omgang, det vil spare meget tid og fordi jobbet er ikke færdigt der. Der skal nemlig også manuelt skrives en vægt for hver post, så alle genveje er nødvendige!~)

jesperthomsen>det ser fornuftigt ud, men som du kan læse ovenover så ved jeg ikke om jeg kan bruge det....
Avatar billede terry Ekspert
24. marts 2006 - 10:03 #7
Hi spg
I'm still not sure I understand the problem.


You write "fordi faktisk så står jeg og retter manuelt i en tabel i en sql database." Do you mean an MS SQL Server database?


and
"Jeg er næsten færdig, men problemet vil opstå igen, ...." do you mean that you will need to do it again with other numbers? If so, then you could place the intervals in a table and then in code read the intervals so that you can use them in you code.

But maybe a bit more information will help us understand the problem,
Avatar billede Slettet bruger
24. marts 2006 - 10:18 #8
Ja, det er en MS SQL database, hvor jeg er nød til at rette lidt i posterne igang i mellem. Mit problem er at jeg ikke rigtigt må gøre noget. Dvs. it-afdelingen så helst at der ikke blev rørt ved noget og så er det konsulentvirksomheden, som sørger for det hele. Men en af tabellerne indeholder nogle vægtvariable, som kommer ind i systemet automatisk. Problemet opstår hvis en medarbejder genstarter pc'en, som opsamler data eller hvis programmet på andre måder stopper (det sker næsten i gang om ugen). Så mangler der data og produktet skal videre i systemet med det samme, så dataerne skal bare ind med det samme. Så til nød har vi fået lov til at skrive direkte i tabellen, der er så et sql vindue, som vores eneste værktøj!~)
Avatar billede terry Ekspert
24. marts 2006 - 10:57 #9
In Access you can make a pass-through query. The SQL in this MUST comply to MS SQL standard SQL not Access SQL as it doesnt get parsed by Access but by SQL server.

But I stil think it would be much easier doing it in code in Access, which is easier than making some SQL which is acceptable by SQL Server.
Avatar billede Slettet bruger
24. marts 2006 - 12:12 #10
Ja, ok.. Jeg tror at jeg i første omgang må tage til takke med den metode jeg bruger nu!~(

Men tak for indslagene og så vil jeg gå og tygge lidt på min strategi og så søge hjælp igen når jeg ved hvilken vej jeg vil gå...

Tak for nu!~)
Avatar billede Slettet bruger
24. marts 2006 - 12:13 #11
...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester