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

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
overfører data fra en tabel til en anden t~
Fra : Carsten Mortensen


Dato : 13-12-06 15:18

Hej

Er ved at lave en kundedatabase bruger delphi 6.0 pro, og har 2 tabeller
(paradox).

tabel kunder:
kundenr
firma
Kontaktperson
adresse
by
postnr

tabel kkdb:
kundenr
faktura
id
firma
kontaktperson
adresse
by
postnr

I kunde tabellen står der unike oplysninger om kunden.

Jeg har så en DbLookUpComboBox på min form, som slår kundenummer op i
kundetabellen.

bruger dblookupcomboboxclik
begin
table1.findkey([dblookupcombobox.text]);//indtastning af kundenummer
end

Hvis der ikke er oplysninger om kunden i tabellen kkdb,
så skal der automatisk indsætte data fra tabellen kunder i tabellen kkdb.

hvordan gør jeg dette ??

gerne med eksempel

takker på forhånd.

mvh

Carsten



 
 
Brian Andersen \(www~ (14-12-2006)
Kommentar
Fra : Brian Andersen \(www~


Dato : 14-12-06 08:54

Hej Carsten,

først og fremmest skal du have nogle nøgler at gøre godt med! Dernæst skal
du lave et lookup field på din kkdb tabel.

Må jeg foreslå, at du indfører en unik nøgle på din kunde tabel. Den kunne
hedde KundeID. Dernæst indfører du en fremmede nøgle på din kkdb tabel, som
du også kunne kalde KundeID.

Via field editoren opretter du så et lookup field (KundeNrLookup) på din
kkdb tabel, hvor du sætter LookupKeyFields til KundeID og IndexKeyFields til
KundeID. Herefter sætter du LookupDataSet til Kunde tabeller. Til sidst
sætter du så LookupResultField til KundeNr.

På din Form indsætter du en TDBLookupComboBox, som linkes til dit nye lookup
felt kkdb.KundeNrLookup. Og,. så skal du bare se løjer (o;

Du skal dog lige huske på, at nøglen KundeID skal værevære unikke. Dette kan
du gøre via a et AutoInc field, som du definere i Databasen.

/Brian



Carsten Mortensen (14-12-2006)
Kommentar
Fra : Carsten Mortensen


Dato : 14-12-06 12:08

Je Brian

I min kkdb har je allerede kundenummer og faktura som unik key

I min kundedb har jeg også kundenummer som unik key.

For begge tabeller gælder at jeg har sat en * i key feltet via
databasedesktop.

Hvad mener du med fremmedenøgle en sådan syntes jeg ikke jeg kan finde ??

mvh

Carsten
"Brian Andersen (www.europeansoftwarehouse.com)" <x@x.x> skrev i en
meddelelse news:wq7gh.9$Rf7.0@news.get2net.dk...
> Hej Carsten,
>
> først og fremmest skal du have nogle nøgler at gøre godt med! Dernæst skal
> du lave et lookup field på din kkdb tabel.
>
> Må jeg foreslå, at du indfører en unik nøgle på din kunde tabel. Den kunne
> hedde KundeID. Dernæst indfører du en fremmede nøgle på din kkdb tabel,
> som du også kunne kalde KundeID.
>
> Via field editoren opretter du så et lookup field (KundeNrLookup) på din
> kkdb tabel, hvor du sætter LookupKeyFields til KundeID og IndexKeyFields
> til KundeID. Herefter sætter du LookupDataSet til Kunde tabeller. Til
> sidst sætter du så LookupResultField til KundeNr.
>
> På din Form indsætter du en TDBLookupComboBox, som linkes til dit nye
> lookup felt kkdb.KundeNrLookup. Og,. så skal du bare se løjer (o;
>
> Du skal dog lige huske på, at nøglen KundeID skal værevære unikke. Dette
> kan du gøre via a et AutoInc field, som du definere i Databasen.
>
> /Brian
>



Brian Andersen \(www~ (14-12-2006)
Kommentar
Fra : Brian Andersen \(www~


Dato : 14-12-06 12:25

> I min kkdb har je allerede kundenummer og faktura som unik key

Ja, det er rigtigt. Men, det er aldrig en god ide, at nøgler ændre sig. Det
skaber inkonsistens i databasen. Jeg går ud fra, at kundenr. er et du selv
taster? Jeg ville opfinde en surogat nøgle, eksempelvis som et AutoInc field
i din database. Du kunne kalde den for KundeID.

> I min kundedb har jeg også kundenummer som unik key.

Samme som ovenstående.

> For begge tabeller gælder at jeg har sat en * i key feltet via
> databasedesktop.

?

> Hvad mener du med fremmedenøgle en sådan syntes jeg ikke jeg kan finde ??

En fremmede nøgle er en "nøgle"/nok mere en attribut du anvender til at
link'e til f.eks. lookup information til en anden tabel. Der findes altså to
slags nøgler: En primær nøgle. Den er som regel altid unik. Så er der
fremmede nøglerne, som bruges til at link'e til en primær nøgle i en anden
tabel. F.eks. til brug for at slå informationer om en kunde op.

/Brian



Carsten Mortensen (14-12-2006)
Kommentar
Fra : Carsten Mortensen


Dato : 14-12-06 12:44


"Brian Andersen (www.europeansoftwarehouse.com)" <x@x.x> skrev i en
meddelelse news:gwagh.29$BM1.25@news.get2net.dk...
>> I min kkdb har je allerede kundenummer og faktura som unik key
>
> Ja, det er rigtigt. Men, det er aldrig en god ide, at nøgler ændre sig.
> Det skaber inkonsistens i databasen. Jeg går ud fra, at kundenr. er et du
> selv taster? Jeg ville opfinde en surogat nøgle, eksempelvis som et
> AutoInc field i din database. Du kunne kalde den for KundeID.
>
>> I min kundedb har jeg også kundenummer som unik key.
>
> Samme som ovenstående.
>
>> For begge tabeller gælder at jeg har sat en * i key feltet via
>> databasedesktop.
>
> ?
Jeg bruger databasedesktoppen til at oprette mine tabeller og i den sætter
jeg en * i feltet key, er der andre måder at gørre dette på


>
>> Hvad mener du med fremmedenøgle en sådan syntes jeg ikke jeg kan finde ??
>
> En fremmede nøgle er en "nøgle"/nok mere en attribut du anvender til at
> link'e til f.eks. lookup information til en anden tabel. Der findes altså
> to slags nøgler: En primær nøgle. Den er som regel altid unik. Så er der
> fremmede nøglerne, som bruges til at link'e til en primær nøgle i en anden
> tabel. F.eks. til brug for at slå informationer om en kunde op.
>
> /Brian
>
>


Men hvordan får jeg markeret at der er tale om en fremmede nøgle?



Brian Andersen \(www~ (14-12-2006)
Kommentar
Fra : Brian Andersen \(www~


Dato : 14-12-06 13:11

> Jeg bruger databasedesktoppen til at oprette mine tabeller og i den sætter
> jeg en * i feltet key, er der andre måder at gørre dette på

Ahh, ok. Du opretter en nøgle af type Integer og markerer at den skal være
en primær nøgle. Den fangede jeg ikke lige. Du kunne vælge at bruge typen +,
så får du en nøgle der selv tæller 1 op hver gang du opretter en post. Der
er andre og bedre måder at gøre dette på, men det kræver lidt programmering.


> Men hvordan får jeg markeret at der er tale om en fremmede nøgle?

Basaltset så definerere du ikke en fremmede nøgle i databasen. Man kan godt
gøre det, men så er man over i noget advanceret noget hvor man definere
referiential integrity. Det er nok lidt for advanceret til at starte på (o;
En fremmede nøgle er egentlig bare et navn man har tillagt en helt
almindelig attribut i databasen, som bruges til lookup af en primær nøgle i
en anden tabel. F.eks. til brug for at hente oplysninger om en kunde. Man
kan som sådan ikke sætte dens egenskab til en fremmede nøgle, som man kan
med en primærnøgle.

/Brian



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

Månedens bedste
Årets bedste
Sidste års bedste