SQl in ACCESS

Pagina: 1
Acties:
  • 73 views sinds 30-01-2008

  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
Een goedemorgen iedereen. :*)

Stel je hebt 2 tabellen in access.

tabel 1
ID waarde
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8

tabel 2
ID waarde
2 2
4 4
6 6
8 8
10 10
12 12
14 14
16 16

De ID's zijn primaire sleutelwaarden en de tabellen zijn identiek.

Wat ik zou willen is het volgende:
1. kijk of er een ID van tabel1 voorkomt in tabel2,
zoniet verwijder de desbetreffende row uit tabel1.
(row met ID 1,3,5 en 7 worden verwijderd vanuit tabel1)
ga naar stap 2

2. Kijk of er een ID van tabel2 voorkomt in tabel1,
zoniet voeg de desbetreffende row van tabel2 toe aan tabel1.
(row 10,12,14 en 16 worden toegevoegd aan tabel1)
zowel > ga naar stap 3

3. update de ID met de bijhorende waarden vanuit tabel2 naar tabel1.
Dit heb ik wel voor elkaar gekregen met een update query in Access.

Ik heb me helemaal suf gezocht op Google, GOT, w3schools enz.
Het zal iets met SQL moeten worden lijkt me, ik zie alleen door de bomen de bomen het bos niet meer. :'(
Iemand een idee?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Move W&G -> P&W

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Het zal iets met SQL moeten worden lijkt me
Bingo, je gaat door voor de koelkast. :) idd heb je SQL nodig ja. Alleen je doet volgens mij moeite om het zo moeilijk mogelijk op te schrijven. Zet eens simpel neer wat je wilt begrijpen (simpel, anders snap iig ik het niet) in bewoordingen.

Vervolgens wat je zelf hebt geprobeerd aan SQL Statements. Misschien dat je maar een klein dingetje vergeten bent.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Of je gaat heel snel wat SQL laten zien, of dit topic gaat heel snel op slot.

Who is John Galt?


  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
snel op slot?
omdta die in de verkeerde groep staat of...?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Een oplossing voor vraag numero 1:
laat ik straks wel zien ;) :P
Een tijdelijke kolom waarin je alles zet wat wél een id in de andere tabel heeft, en daarna gewoon deleten.
Of je gaat heel snel wat SQL laten zien, of dit topic gaat heel snel op slot.
Dat zijn de goede mods, zo schiet het ten minste een beetje op.

Die post hier onder was niet echt bevorderend voor zijn topic ben ik bang...

[ Voor 61% gewijzigd door djluc op 24-07-2003 11:52 ]


  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
Wat ik tot nu toe heb geprobeerd heb is met de verchillende querys van access.
Tevens het een en ander geprobeerd met SELECT FROM WHERE.
Hier kom ik niet echt verder mee.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

gijoe6666 schreef op 24 July 2003 @ 11:46:
Wat ik tot nu toe heb geprobeerd heb is met de verchillende querys van access.
Tevens het een en ander geprobeerd met SELECT FROM WHERE.
Hier kom ik niet echt verder mee.
Select From where is geen geldig SQL statement. :)
Oftewel: Wat is het probleem om hier een aantal van je probeersel neer te zetten, met wat er niet aan werkte?
djluc schreef op 24 juli 2003 @ 11:46:
Een oplossing voor vraag numero 1:
laat ik starks wel zien ;) :P
Een tijdelijke kolom waarin je alles zet wat wél een id in de andere tabel heeft, en daarna gewoon deleten.
* gorgi_19 heeft deze oplossing net wel stiekem gezien.. :+

Alleen vond ik hem niet zo netjes met die join; het is MS Access deze kent subqueries. Oftewel: Je kan een NOT IN statement gebruiken. Zo hoef je niet eerst te updaten. :)

[ Voor 39% gewijzigd door gorgi_19 op 24-07-2003 11:49 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Dat jij um zien maakt me niet zoveel uit;)
Alleen vond ik hem niet zo netjes met die join; het is MS Access deze kent subqueries. Oftewel: Je kan een NOT IN statement gebruiken. Zo hoef je niet eerst te updaten.
Dat zou goed kunnen, ik werk met MySQL en dan zou ik een oplossing als deze gebruiken. Ik ben nu even aan het kijken naar die 2de vraag. Bijscholing valt dit onder denk ik. Ik vraag me af of we over enkele minuutjes hier nog kunnen posten.

  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
Ik zag net ook een oplossing voorbij flitsen, die is er van afgehaald?
Waarom?
Ik heb niet veel verstand van SQL, ik snap wel de redenaties en zie de verbanden.
Ik neem aan dat we elkaar hier helpen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

djluc schreef op 24 July 2003 @ 11:51:
Dat jij um zien maakt me niet zoveel uit;)

[...]

Dat zou goed kunnen, ik werk met MySQL en dan zou ik een oplossing als deze gebruiken. Ik ben nu even aan het kijken naar die 2de vraag. Bijscholing valt dit onder denk ik. Ik vraag me af of we over enkele minuutjes hier nog kunnen posten.
De 2e is ook vrij simpel op te lossen, zeker met de GUI van Access.
Deze maakt automatisch namelijk een
SQL:
1
Insert Into .... Select .. FROM

aan. Voeg hier nog een where clausule aan toe en je hebt de oplossing voor probleem 2.
gijoe6666 schreef op 24 juli 2003 @ 11:52:
Ik zag net ook een oplossing voorbij flitsen, die is er van afgehaald?
Waarom?
Ik heb niet veel verstand van SQL, ik snap wel de redenaties en zie de verbanden.
Ik neem aan dat we elkaar hier helpen.
Jups, helpen.. Jij moet er van leren. Alleen daarom moeten we eerst weten wat jij fout doet. Als ik het werk moet doen, geen probleem, maar dan wil ik wel een factuurtje kunnen sturen.. :+

[ Voor 28% gewijzigd door gorgi_19 op 24-07-2003 11:54 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 17:52

Reptile209

- gers -

"We" willen wel helpen, maar zoals justmental 6 minuten geleden al vroeg :+ : post eens wat van je probeersels, dan kunnen we je vertellen waar het misgaat. Da's ook voor jezelf een stuk leerzamer.

Zo scherp als een voetbal!


  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
ik begrijp het, stuur je factuurtje maar naar .... :-)
Jullie zijn al 100 stappen verder dan ik gekomen ben, wat ik tot nu toe dus heb bereikt is stap3, vrij simpel lijkt me.
Qua stappen 1 en 2 heb ik lopen prutsen met select en update, wat dus resulteerde in niks.
Is het handig als ik het een en ander nog toelicht?

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Voor de derde keer: toon je probeersels IN SQL! Dan kunnen we er misschien iets mee doen. Nu weten we niet waar jouw fout zit, snappie? ;)

Volgens mij is het ook verstandig als je een keer naar een SQL tutorial kijkt en binnen Access de mogelijkheden bekijkt die je geboden worden...!

[ Voor 58% gewijzigd door OZ-Gump op 24-07-2003 12:01 ]

My personal website


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Aanvulling op OZ-Gump: Verwerk er gelijk bovenstaande hints in van djluc en / of mij..

En een sql-statement is:
SQL:
1
Select melp from table spef where ID = 1

als voorbeeld..

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
ik zoek even een stukje code op waar ik wat mee gedaan heb.
Dat zag er veelbelovend uit.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
post eens wat van je probeersels
Ik ben heel erg bang dat dit probleempje gaat opleveren, maarja dat zijn vooroordelen hè...
De 2e is ook vrij simpel op te lossen, zeker met de GUI van Access.
Deze maakt automatisch namelijk een Insert Into .... Select .. FROM
aan.
Ik had al wel een vrij ranzige manier bedacht met PHP, maar ik ga toch maar eens even wat meer lezen over insert into select want het lijkt me wel handig.

edit:
ik zoek even een stukje code op waar ik wat mee gedaan heb.
Dat zag er veelbelovend uit.
Het gaat dan toch gebeuren, of gaat het nu gemaakt worden?

[ Voor 17% gewijzigd door djluc op 24-07-2003 12:07 ]


  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
Ik kan de code 123 niet vinden :-(
De SQL tutorial van w3schools heb ik al doorgenomen, zie er geen oplossing in.
Oftewel ik zit zeg maar vast. Vandaar deze post.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
gijoe6666 schreef op 24 July 2003 @ 12:08:
Ik kan de code 123 niet vinden :-(
De SQL tutorial van w3schools heb ik al doorgenomen, zie er geen oplossing in.
Oftewel ik zit zeg maar vast. Vandaar deze post.
Dit is echt lef hebben, als je er al zo lang mee bezig was kun je toch wel een soort van pseudocode schrijven, oftwel je denk wijze in normaal nederlands? Sorry man maar ik geloof je dus echt niet.

In die tutorial staat inderdaad niet letterlijk de oplossing, dan zouden er miljoenen query's in moeten staan. Er staat wel hoe je de gegevens op bepaalde manieren uit je database kunt halen, en dat kun je leren, maar niet op deze manier. Probeer het eerst op eenvoudige ranzige manieren, bekijk de mogelijkheden van je database.

Ik vraag me af of je al info hebt gezocht over de termen die we geroepen hebben zoals subselects en joins.

[ Voor 34% gewijzigd door djluc op 24-07-2003 12:12 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

gijoe6666 schreef op 24 July 2003 @ 12:08:
Ik kan de code 123 niet vinden :-(
De SQL tutorial van w3schools heb ik al doorgenomen, zie er geen oplossing in.
Oftewel ik zit zeg maar vast. Vandaar deze post.
Dit is geen raadspelletje, met na 4 pogingen fout dat dan uit medelijden maar de code gegeven wordt.
Daar leer je niets van. :)

Oftewel: start Access op, ga naar de SQL generator toe en kom hier met wat code. Dan kunnen we pas wat zinnigs zeggen. Verwerk bovenstaande hints er in. Tot die tijd ben je op jezelf aangewezen.

[ Voor 10% gewijzigd door gorgi_19 op 24-07-2003 12:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
Goed,
id tabel1 <> tabel2 then rowdelete
Als ID* tabel1 niet bestaat in tabel2, verwijder de row die bij die ID hoort in tabel1
id tabel2 <> tabel2 insert row? to tabel1
Als ID* tabel2 niet bestaat in tabel1, voeg de row die bij die ID hoort in tabel1

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Zal ik je eens wat geks gaan vertellen? Dat is geen sql statement!, maar code hoe je het graag wil zien.

Misschien een idee om eerst uit te zoeken wat SQL precies inhoudt?
Het lijkt wel of je een perfect Frans literair werk wilt gaan maken, met alleen "hoe en wat in het Frans", zonder enige kennis van grammatica of woorden.
gorgi_19 schreef op 24 July 2003 @ 12:10:
Oftewel: start Access op, ga naar de SQL generator toe en kom hier met wat code. Dan kunnen we pas wat zinnigs zeggen. Verwerk bovenstaande hints er in. Tot die tijd ben je op jezelf aangewezen.

[ Voor 108% gewijzigd door gorgi_19 op 24-07-2003 12:21 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
gorgi_19 schreef op 24 July 2003 @ 12:15:
Zal ik je eens wat geks gaan vertellen? Dat is geen sql statement!
Ach nee dat meen je niet. Volgens mij was dit stukje tekst ook nog niet klaar bij het starten van dit topic.

  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
Is het dan zo onduidelijk wat er boven staat ?
Ik snap ook wel dat je hier niet zomaar iets kan posten en jullie de oplossing geven.
Ik zag een hint voorbijkomen, daar kon ik wat mee.
Die is gelijk verwijderd, ik ben dus nu waar ik begonnen ben met deze topic. niet verder dus.

Als jullie me nou in een richting sturen met wat steekwoorden, dan kan ik wat.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

gijoe6666 schreef op 24 juli 2003 @ 12:20:
Is het dan zo onduidelijk wat er boven staat ?
Ik snap ook wel dat je hier niet zomaar iets kan posten en jullie de oplossing geven.
Ik zag een hint voorbijkomen, daar kon ik wat mee.
Die is gelijk verwijderd, ik ben dus nu waar ik begonnen ben met deze topic. niet verder dus.

Als jullie me nou in een richting sturen met wat steekwoorden, dan kan ik wat.
Heb je uberhaupt de posts hierboven gelezen? Deze staan allemaal vol met richtlijnen, steekwoorden, hints en tips. Ga er eens langer dan 5 minuten mee aan de slag en laat dan eens zien wat je geprobeerd hebt (in de vorm van een SQL statement welke NET niet doet wat jij wil, wat dan niet en waarom niet), kijken we dan verder, OK?

[ Voor 7% gewijzigd door OZ-Gump op 24-07-2003 12:22 ]

My personal website


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

gijoe6666 schreef op 24 juli 2003 @ 12:20:
Als jullie me nou in een richting sturen met wat steekwoorden, dan kan ik wat.
SQL woorden: SELECT, INSERT INTO, UPDATE, DELETE, FROM, WHERE, NOT IN
extra zoekwoord: subquery
gorgi_19 schreef op 24 July 2003 @ 12:10:
Oftewel: start Access op, ga naar de SQL generator toe en kom hier met wat code. Dan kunnen we pas wat zinnigs zeggen. Verwerk bovenstaande hints er in.

[ Voor 37% gewijzigd door gorgi_19 op 24-07-2003 12:24 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 18:34
ok

Verwijderd

Absoluut ongetest (uit het de bolle kop getrokken :)), maar kijk eens naar iets als:

voor stap 1
DELETE
FROM TABEL1 A
WHERE (A.COL1 NOT IN ( SELECT B.COL1
FROM TABEL2 B
)
AND A.COL2 NOT IN ( SELECT C.COL2
FROM TABEL2 C
)
)

voor stap 2:
INSERT INTO TABEL1
SELECT
FROM TABEL2 A
WHERE A.COL1 IN ( SELECT B.COL1
FROM TABEL1 B)
AND...

Misschien heb je er wat aan. Succes.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

SQL is erg lastig om mee te beginnen.
Als je een concreet probleem hebt bij het maken van een SQL dan kunnen we je helpen, maar de beginselen kunnen we je hier niet aanleren.
Die moet je jezelf dus eigen maken, wat materiaal waarmee je dat kunt doen kun je hier vinden:
P&W FAQ - SQL

Mocht je daarna nog met een concreet probleem zitten dan kun je dat hier dus wel kwijt.
Neem dan dit wel even door voor de regeltjes omtrent het posten hier:
P&W FAQ - De "quickstart"

Who is John Galt?

Pagina: 1

Dit topic is gesloten.