[SQL] query naar access met autonummer

Pagina: 1
Acties:
  • 367 views sinds 30-01-2008
  • Reageer

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 08:39
Hi,

Ik heb een sql-query in Access die gegevens ophaalt uit een sql-database, en deze wegschrijft naar een lege/nieuwe access-database.
Alles gaat goed, maar...
Het is nodig om een autonumbering veld mee te geven in de access database.
M.a.w. ik moet een unieke key hebben voor elk record.
Handmatig kan ik dit wel doen, als ik de access-db heb, maar heb het liever geautomatiseerd.
Het aantal records, is ook niet altijd gelijk, dus daar kan ik ook niks mee doen.

Wie weet hoe ik met een sql commando een autonumbering record toevoeg aan de query ?

The best thing about UDP jokes is that I don't care if you get them or not.


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:45
Gewoon in uw insert query het veld dat de autonummering heeft niet specifieren.
Bv:
code:
1
insert into table (naam) values ("bla")

Als er een autonummerveld in die table zit, dan wordt het wel automatisch aangemaakt.

Lees ook eens de Quickstart:
Welkom in P&W -> Quickstart om snel aan de slag te kunnen

https://fgheysels.github.io/


Verwijderd

Kan je in je access tabel niet een autonumber veld neerzetten ? Dan ben je van je probleem af.
Maar persoonlijk zou ik autonumber velden niet gebruiken. Is er echt geen unieke combi. van velden in je tabel ?

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
heb je al eens geprobeerd om in uw SQL-statement het 'autonummeringv-veld' niet mee te geven.

bv:

tblKlant:
ID: autonummerinng (PK)
naam: tekst

SQ:L
INSERT INTO tblKlant VALUES('Feyd-Rautha')

Ik dacht dat het ID dan automatisch zou worden ingevuld

[ Voor 0% gewijzigd door Feyd-Rautha op 17-09-2002 09:37 . Reden: te laat ... :) ]

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:45
Verwijderd schreef op 17 september 2002 @ 09:36:
Kan je in je access tabel niet een autonumber veld neerzetten ? Dan ben je van je probleem af.
Maar persoonlijk zou ik autonumber velden niet gebruiken. Is er echt geen unieke combi. van velden in je tabel ?


Hij zegt toch dat hij een autonumber veld heeft in z'n tabel?

Ik gebruik zelf ook altijd in m'n tabellen een extra - uniek id veld. Unieke combinaties van velden kun je niet altijd toepassen (enkel maar in relatie-tabellen). En dan nog gebruik ik in die situaties meestal een extra id veld.

https://fgheysels.github.io/


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 08:39
vanuit sql heb ik geen unieke id's of autonummering.
vanuit sql krijg ik gewoon een heleboel records met relaties b.v.
naam, achternaam, leeftijd enz...
Omdat de access tabel gekoppeld word aan internet is het nodig om:
id,naam,achternaam,leeftijd enz... te krijgen.
het id word gebruikt voor bestelling,foto's e.d.

whoami/erikvson: ik snap je bedoeling, echter de access tabel bestaat niet, en word aangemaakt. Dus er zit geen autonummering veld van access in.


Het is geen optie om sql aan internet te hangen.

The best thing about UDP jokes is that I don't care if you get them or not.


  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
SQL en ACCESS aan Inet hangen :? dat versta ik niet

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:45
SQL aan internet hangen? Ik denk dat jij je eerst eens dringend moet verdiepen in SQL en databases.

SQL tutorial

https://fgheysels.github.io/


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 09:48
whoami schreef op 17 september 2002 @ 09:34:
Gewoon in uw insert query het veld dat de autonummering heeft niet specifieren.
Bv:
code:
1
insert into table (naam) values ("bla")

Als er een autonummerveld in die table zit, dan wordt het wel automatisch aangemaakt.
Is het niet beter om in dit geval veldnamen te specificeren ?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Gaat het om steeds dezelfde structuur of een wisselende ?
Volgens mij is het niet mogelijk om met een SELECT INTO statement een autonummer veld te maken, maar daar kan ik natuurlijk helemaal naast zitten.

Verwijderd

whoami schreef op 17 september 2002 @ 09:38:

[...]


Hij zegt toch dat hij een autonumber veld heeft in z'n tabel?

Ik gebruik zelf ook altijd in m'n tabellen een extra - uniek id veld. Unieke combinaties van velden kun je niet altijd toepassen (enkel maar in relatie-tabellen). En dan nog gebruik ik in die situaties meestal een extra id veld.
offtopic
Ik gebruikte vroeger ook vaak autonummers maar ben daar van teruggekomen. Als je ooit data wilt importeren/exporteren en je gebruikt ID als relatie velden dan heb je echt een probleem ...
/offtopic

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 08:39
whoami schreef op 17 september 2002 @ 09:52:
SQL aan internet hangen? Ik denk dat jij je eerst eens dringend moet verdiepen in SQL en databases.

SQL tutorial
:?
waarom kan sql of access niet aan internet ?
Ok, misschien verkeerd gekozen opmaak van de zin.
Maar als ik een html pagina met asp maak, dan kan ik deze toch vullen met gegevens uit een sql of access db ?

The best thing about UDP jokes is that I don't care if you get them or not.


Verwijderd

Denk dat whoami het niet tegen jou had, maar tegen Feyd-Rautha

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:45
Verwijderd schreef op 17 September 2002 @ 11:11:
Denk dat whoami het niet tegen jou had, maar tegen Feyd-Rautha


Nee hoor, ik had het tegen Remc0. Maar ik had z'n vraag niet goed begrepen (en Feyd-Rautha had die vraag blijkbaar op dezelfde manier geinterpreteerd als ik).

Je kunt natuurlijk wel aan een databank die ergens anders staat. Ik dacht dat remc0 misschien iets als volgt bedoelde:

code:
1
SELECT * FROM  www.tweakers.net

oid. :+ 8)7

https://fgheysels.github.io/


  • Morpheus_at_work
  • Registratie: December 2000
  • Laatst online: 29-11 22:14
Remc0 schreef op 17 September 2002 @ 10:53:
[...]

:?
waarom kan sql of access niet aan internet ?
Ok, misschien verkeerd gekozen opmaak van de zin.
Maar als ik een html pagina met asp maak, dan kan ik deze toch vullen met gegevens uit een sql of access db ?
dat kan wel , gewoon voortaan zeggen , dat je dynamische database informatie wil publiceren ;) omdat nou is via php , xml , asp boeit , niet , anders struikelen er weer een paar mensen over hun ego.

btw alles wat jij wil kun je gewoon doen met de access querydesigner , dan even selecteren dat je een insert query wilt gaan opbouwen , dan insert je het het autonummer veld in een nieuw autonummer veld wat kan dienen als ID , of je genegeerd een nieuw autonummer veld als ID met daar apart bij een veld met daarin de autonummer velden , zodat deze misschien ook nog gebruik kunnen worden voor historisch transactie gegevens.

iets met lenzen


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 08:39
zal wel even de query posten, ben nu bij de klant...

En hoppa.

Zal het helemaal even uitleggen.
De klant heeft een backoffice applicatie op SQL die zalen boekt.
Nu willen ze dat deze via internet te reserveren zijn.
Dus wat we doen is:
Query uit sql, waaruit een overzicht van zalen/boekingen komt.
Deze wegschrijven naar access, en ftp'en naar de website.
Een web-bedrijvje heeft een aantal asp's geschreven om het een en ander te regelen, met behulp van id's.

Waarom we nu hier mee komen is het volgende.
De backoffice applicatie draaide eerst op access, toen werkte dus alles goed.
Nu zijn ze overgestapt naar SQL, en werkt ook alles goed, alleen mis je een uniek record nummer wat je nodig hebt op de website.
Dit nummer word voor de rest nergens voor gebruikt, puur voor de website.

Nu hebben we de volgende sql-query die een access database maakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SELECT [dbo_Arrangements].[Description] AS Titel, [dbo_Arrangement_Types].
[Name_SQL] AS Genre, [dbo_Rooms].[Name_SQL] AS Zaal, [dbo_Deals].[Text_1] 
AS Foto1, [dbo_Deals].[Text_2] AS Foto2, [dbo_Deals].[Text_3] AS [Zwarte Titel], 
[dbo_Deals].[Text_4] AS [Opm na titel], [dbo_Deals].[Text_9] AS [Ticketprijs 1], 
[dbo_Deals].[Text_10] AS [Ticketprijs 2], [dbo_Deals].[Checkbox_1] AS www, 
[dbo_Deals].[Checkbox_2] AS [top 10], [dbo_Deals].[Checkbox_3] AS Uitverkocht, 
[dbo_Deals].[Checkbox_4] AS Afgelast, [dbo_Deals].[Checkbox_5] AS Verplaatst, 
[dbo_Deals].[Checkbox_6] AS Nabespreking, [dbo_Deals].[Text_7] AS Inleiding, 
[dbo_Deals].[Text_8] AS [Bel kassa], [dbo_Deals].[Text_9] AS Vrijzitten, 
[dbo_Events].[Performance] AS Voorstelling, [dbo_Events].[Status] AS Status, 
[dbo_Events].[Reminder_8] AS [Afgelast=1], [dbo_Events].[Date] AS Datum, format
([dbo_Events].[Start_Time],"hh/nn") AS Aanvang, [dbo_Events].[Room_Number] 
AS Zaalnr, [dbo_Deals].[Ticket_Memo] AS Voorstellingsinfo INTO accessdb 
IN 'U:\web.mdb'
FROM dbo_Deals INNER JOIN ((dbo_Rooms INNER JOIN dbo_Events ON 
[dbo_Rooms].[Number_SQL]=[dbo_Events].[Room_Number]) INNER JOIN 
(dbo_Arrangement_Types INNER JOIN dbo_Arrangements ON 
[dbo_Arrangement_Types].[Number_SQL]=[dbo_Arrangements].[Type_Number]) 
ON [dbo_Events].[Arrangement_Number]=[dbo_Arrangements].[Number_SQL]) ON 
[dbo_Deals].[Arrangement_Number]=[dbo_Arrangements].[Number_SQL]
WHERE ((([dbo_Events].[Performance])=-1) And (([dbo_Events].[Status])=0) And 
(([dbo_Deals].[Checkbox_1])=-1) And (([dbo_Events].[Date]) Between 
#9/1/2002# And #6/30/2003#)) Or (([dbo_Events].[Status])=5)
ORDER BY [dbo_Events].[Date];


Graag willen we nog een veldje toevoegen met autonummering.
Zoals vermeld, word dit id alleen gebruikt op de website.

[ Voor 0% gewijzigd door Remco op 17-09-2002 11:39 . Reden: code toevoegen. ]

The best thing about UDP jokes is that I don't care if you get them or not.


Verwijderd

Hoe vaak doe je die insert ?
Als het eenmalig is of alleen na een update dan zou ik eerst een tabel aanmaken met een ID veld en dan alles er in selecteren.
Mocht je dit vaak doen dan en insert je 2x dezelfde informatie dan krijg je 2 verschillende IDs en dat zal je ook niet willen.

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 08:39
De frequentie word dagelijks.
offtopic:
we zijn bezig om de server naar de klant te halen, zodat het real-time kan.

De database word steeds weggegooid en opnieuw aangemaakt.
Dus er kunnen geen dubbele items ontstaan.

The best thing about UDP jokes is that I don't care if you get them or not.


Verwijderd

Hoe belangrijk is het dat de ID velden steeds naar hetzelfde record wijzen na een update ?
Pagina: 1