/ 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øre resultat fra Query til en ny tabe~
Fra : Kurt Guldbæk


Dato : 04-01-05 19:20

Hej NG, Godt nytår til jer alle.

Jeg har med en Query fået valgt nogle record, som jeg for kontrollens skyld
viser i en TDBGrid.
Jeg har imidlertid behov for at overføre resultatet til en ny tabel; dog
ikke alle felterne. Kan det ikke gøres uden at skulle omveje over tekstfiler
eller lignende?

Jeg bruger D5 og FlashFiler2.

Mvh Kurt



 
 
Kurt Guldbæk (09-01-2005)
Kommentar
Fra : Kurt Guldbæk


Dato : 09-01-05 13:47

"Kurt Guldbæk" <kurt_g@guldbaek.net> skrev i en meddelelse
news:41dade5a$0$51242$14726298@news.sunsite.dk...
> Hej NG, Godt nytår til jer alle.
>
> Jeg har med en Query fået valgt nogle record, som jeg for kontrollens
> skyld viser i en TDBGrid.
> Jeg har imidlertid behov for at overføre resultatet til en ny tabel; dog
> ikke alle felterne. Kan det ikke gøres uden at skulle omveje over
> tekstfiler eller lignende?
>
> Jeg bruger D5 og FlashFiler2.
>
> Mvh Kurt
>
Jeg fik ingen reaktioner, hvilket ¨åske skyldes, at jeg skrev at jeg bruger
FlashFiler2!
Jeg mener egentlig ikke, at FlashFiler2 har nogen indflydelse på sagen, så
det burde jeg nok ikke have nævnt.

Er der ingenhjælp at hente?
/Kurt



Stig Johansen (09-01-2005)
Kommentar
Fra : Stig Johansen


Dato : 09-01-05 14:34

Kurt Guldbæk wrote:

> "Kurt Guldbæk" <kurt_g@guldbaek.net> skrev i en meddelelse
> news:41dade5a$0$51242$14726298@news.sunsite.dk...
>> Hej NG, Godt nytår til jer alle.
>>
>> Jeg har med en Query fået valgt nogle record, som jeg for kontrollens
>> skyld viser i en TDBGrid.
>> Jeg har imidlertid behov for at overføre resultatet til en ny tabel; dog
>> ikke alle felterne. Kan det ikke gøres uden at skulle omveje over
>> tekstfiler eller lignende?
>>
>> Jeg bruger D5 og FlashFiler2.
>>
>> Mvh Kurt
>>
> Jeg fik ingen reaktioner, hvilket måske skyldes, at jeg skrev at jeg
> bruger FlashFiler2!
> Jeg mener egentlig ikke, at FlashFiler2 har nogen indflydelse på sagen, så
> det burde jeg nok ikke have nævnt.
>
> Er der ingenhjælp at hente?

Du skriver ikke ret meget om dit aktuelle problem.
Som du selv nævner, så skal du nok ikke forvente, at der er ret mange, der
kender til Flashfiler2 (jeg gør ikke).

Hvis jeg forstår din problemstilling, så ønsker du at udtrække et subset af
records, som der bliver vist i en grid, for derefter at 'commite' en
overførsel til en ny tabel (nogle af felterne).

Normalt i relation til overførsel vil man udføre en SQL á la:
INSERT INTO NyTabel SELECT Felt1,Felt2,... FROM MinTabel.

Denne SQL vil ikke returnere et resultatsæt, og vil ikke kunne vises.

Hvis man skal vise, og derefter commit'e, må det være noget med at udføre:
SELECT Felt1,Felt2,... + EkstraFelter FROM MinTabel
og vise dem i en grid.
Efterfølgende kan man udføre (ved klik på OK?) den førnævnte SQL til at
udføre selve overførslen.

Den metode vil kun kunne bruges hvis der er tale om en standalone løsning.

Prøv evt. at uddybe hvad problemstillingen er.

--
Med venlig hilsen
Stig Johansen

Kurt (10-01-2005)
Kommentar
Fra : Kurt


Dato : 10-01-05 12:33

"Stig Johansen" <stig_johansen_it_at_=(@)hotmail.com> wrote in message
news:41e1335a$0$51242$14726298@news.sunsite.dk...
> Kurt Guldbæk wrote:
> Du skriver ikke ret meget om dit aktuelle problem.
> Som du selv nævner, så skal du nok ikke forvente, at der er ret mange, der
> kender til Flashfiler2 (jeg gør ikke).
>
> Hvis jeg forstår din problemstilling, så ønsker du at udtrække et subset
af
> records, som der bliver vist i en grid, for derefter at 'commite' en
> overførsel til en ny tabel (nogle af felterne).
>
> Normalt i relation til overførsel vil man udføre en SQL á la:
> INSERT INTO NyTabel SELECT Felt1,Felt2,... FROM MinTabel.
>
> Denne SQL vil ikke returnere et resultatsæt, og vil ikke kunne vises.
>
> Hvis man skal vise, og derefter commit'e, må det være noget med at udføre:
> SELECT Felt1,Felt2,... + EkstraFelter FROM MinTabel
> og vise dem i en grid.
> Efterfølgende kan man udføre (ved klik på OK?) den førnævnte SQL til at
> udføre selve overførslen.
>
> Den metode vil kun kunne bruges hvis der er tale om en standalone løsning.
>
> Prøv evt. at uddybe hvad problemstillingen er.
>
> --
> Med venlig hilsen
> Stig Johansen

Jeg har en database med tre felter, 'KommNr', 'VejKode' og 'Vejnavn'. Jeg
opretter et 4. felt 'Kombineret', som ved hjælp af OnCalcFields
(KommNr*10000 + Vejkode for at få unikke opslag) beregnes.
I en tdbGrid ser jeg resultatet.
Dette resultat vil jeg gerne have ind i en ny database!

/Kurt



Stig Johansen (10-01-2005)
Kommentar
Fra : Stig Johansen


Dato : 10-01-05 17:03

Kurt wrote:

> "Stig Johansen" <stig_johansen_it_at_=(@)hotmail.com> wrote in message
> news:41e1335a$0$51242$14726298@news.sunsite.dk...
>> Kurt Guldbæk wrote:
>> Du skriver ikke ret meget om dit aktuelle problem.
>> Som du selv nævner, så skal du nok ikke forvente, at der er ret mange,
>> der kender til Flashfiler2 (jeg gør ikke).
>>
>> Hvis jeg forstår din problemstilling, så ønsker du at udtrække et subset
> af
>> records, som der bliver vist i en grid, for derefter at 'commite' en
>> overførsel til en ny tabel (nogle af felterne).
>>
>> Normalt i relation til overførsel vil man udføre en SQL á la:
>> INSERT INTO NyTabel SELECT Felt1,Felt2,... FROM MinTabel.
>>
>> Denne SQL vil ikke returnere et resultatsæt, og vil ikke kunne vises.
>>
>> Hvis man skal vise, og derefter commit'e, må det være noget med at
>> udføre: SELECT Felt1,Felt2,... + EkstraFelter FROM MinTabel
>> og vise dem i en grid.
>> Efterfølgende kan man udføre (ved klik på OK?) den førnævnte SQL til at
>> udføre selve overførslen.
>>
>> Den metode vil kun kunne bruges hvis der er tale om en standalone
>> løsning.
>>
>> Prøv evt. at uddybe hvad problemstillingen er.
>>
>> --
>> Med venlig hilsen
>> Stig Johansen
>
> Jeg har en database med tre felter, 'KommNr', 'VejKode' og 'Vejnavn'. Jeg
> opretter et 4. felt 'Kombineret', som ved hjælp af OnCalcFields
> (KommNr*10000 + Vejkode for at få unikke opslag) beregnes.
> I en tdbGrid ser jeg resultatet.
> Dette resultat vil jeg gerne have ind i en ny database!

Hvis flashfiler understøtter SQL, og du har en tabel med eksempelvis
KommNr,VejKode,Vejnavn samt KommNrVejKode, kan du udføre denne SQL:

INSERT INTO TilTabel SELECT KommNr,VejKode,Vejnavn,KommNr*10000 + Vejkode AS
KommNrVejKode FROM FraTabel

--
Med venlig hilsen
Stig Johansen

Kurt Guldbæk (11-01-2005)
Kommentar
Fra : Kurt Guldbæk


Dato : 11-01-05 23:28

"Stig Johansen" <stig_johansen_it_at_=(@)hotmail.com> skrev i en meddelelse
news:41e2a7f3$0$51251$14726298@news.sunsite.dk...

KLIPPET
>> Jeg har en database med tre felter, 'KommNr', 'VejKode' og 'Vejnavn'. Jeg
>> opretter et 4. felt 'Kombineret', som ved hjælp af OnCalcFields
>> (KommNr*10000 + Vejkode for at få unikke opslag) beregnes.
>> I en tdbGrid ser jeg resultatet.
>> Dette resultat vil jeg gerne have ind i en ny database!
>
> Hvis flashfiler understøtter SQL, og du har en tabel med eksempelvis
> KommNr,VejKode,Vejnavn samt KommNrVejKode, kan du udføre denne SQL:
>
> INSERT INTO TilTabel SELECT KommNr,VejKode,Vejnavn,KommNr*10000 + Vejkode
> AS
> KommNrVejKode FROM FraTabel
>
> --
> Med venlig hilsen
> Stig Johansen

Jeg har prøvet følgende, der giver en fejl, som jeg ikke lige kan greje:
procedure TForm1.Button1Click(Sender: TObject);
begin
With ffQEjendomme do
Begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO TestVeje.FF2 SELECT
KommNr,VejKode,Vejnavn,KommNr*10000 + Vejkode AS Vej FROM Veje.FF2');
Open;
End;
end;

Det giver følgende fejlmelding under kørsel:
Project Q_Test.exe raised exception class EffDatabaseError with message
'FlashFiler: ffQEjendomme: Query preparation failed:
1 INSERT NTO TestVeje.FF2 SELECT KommKode, Vejnavn, KommNr*10000 +VejKode
AS Vej
FROM Veje.FF2
***** ^invalid InsertStatement

Databasen TestVeje.FF2, der i forvejen er oprettet med de pågældende felter,
er tom.
Hvad er galt i det pågældende statement?
/Kurt




Stig Johansen (12-01-2005)
Kommentar
Fra : Stig Johansen


Dato : 12-01-05 06:08

Kurt Guldbæk wrote:

> Jeg har prøvet følgende, der giver en fejl, som jeg ikke lige kan greje:
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> With ffQEjendomme do
> Begin
> Close;
> SQL.Clear;
> SQL.Add('INSERT INTO TestVeje.FF2 SELECT
> KommNr,VejKode,Vejnavn,KommNr*10000 + Vejkode AS Vej FROM Veje.FF2');
> Open;
> End;
> end;
>
> Det giver følgende fejlmelding under kørsel:
> Project Q_Test.exe raised exception class EffDatabaseError with message
> 'FlashFiler: ffQEjendomme: Query preparation failed:
> 1 INSERT NTO TestVeje.FF2 SELECT KommKode, Vejnavn, KommNr*10000 +VejKode
> AS Vej
> FROM Veje.FF2
> ***** ^invalid InsertStatement
>
> Databasen TestVeje.FF2, der i forvejen er oprettet med de pågældende
> felter, er tom.
> Hvad er galt i det pågældende statement?

Prøv disse varianter:
SQL.Add('INSERT INTO TestVeje.FF2 SELECT KommNr,VejKode,Vejnavn
(KommNr*10000 + Vejkode) AS Vej FROM Veje.FF2'); // Paranteser indsat
Execute ; // Denne returnerer ikke et sæt, derfor execute og IKKE Open

Eller

SQL.Add('INSERT INTO TestVeje.FF2 SELECT KommNr,VejKode,Vejnavn
(KommNr*10000 + Vejkode) FROM Veje.FF2'); // Paranteser indsat uden alias
Execute ; // Denne returnerer ikke et sæt, derfor execute og IKKE Open

Du skal efterfølgende lave en select mod TestVeje.FF2 for at få vist
data'ene.

--
Med venlig hilsen
Stig Johansen

Kurt (12-01-2005)
Kommentar
Fra : Kurt


Dato : 12-01-05 09:21

Klippet
> > Det giver følgende fejlmelding under kørsel:
> > Project Q_Test.exe raised exception class EffDatabaseError with message
> > 'FlashFiler: ffQEjendomme: Query preparation failed:
> > 1 INSERT NTO TestVeje.FF2 SELECT KommKode, Vejnavn, KommNr*10000
+VejKode
> > AS Vej
> > FROM Veje.FF2
> > ***** ^invalid InsertStatement
> >
> > Databasen TestVeje.FF2, der i forvejen er oprettet med de pågældende
> > felter, er tom.
> > Hvad er galt i det pågældende statement?
>
> Prøv disse varianter:
> SQL.Add('INSERT INTO TestVeje.FF2 SELECT KommNr,VejKode,Vejnavn
> (KommNr*10000 + Vejkode) AS Vej FROM Veje.FF2'); // Paranteser indsat
> Execute ; // Denne returnerer ikke et sæt, derfor execute og IKKE
Open
>
> Eller
>
> SQL.Add('INSERT INTO TestVeje.FF2 SELECT KommNr,VejKode,Vejnavn
> (KommNr*10000 + Vejkode) FROM Veje.FF2'); // Paranteser indsat uden alias
> Execute ; // Denne returnerer ikke et sæt, derfor execute og IKKE
Open
>
> Du skal efterfølgende lave en select mod TestVeje.FF2 for at få vist
> data'ene.
>
> --
> Med venlig hilsen
> Stig Johansen

Jeg har nu prøvet begge varianter med samme fejlmelding som resultat.
Dog har jeg bibeholdt 'Open', da 'Execute' under compileringen gav
fejlmeldingen:
Undeclared identifier: 'Execute'.
Desuden har jeg prøvet at anvende Paradox i stedet for FlasFiler med samme
resultat!
/Kurt



Stig Johansen (13-01-2005)
Kommentar
Fra : Stig Johansen


Dato : 13-01-05 07:07

Kurt wrote:

> Jeg har nu prøvet begge varianter med samme fejlmelding som resultat.
> Dog har jeg bibeholdt 'Open', da 'Execute' under compileringen gav
> fejlmeldingen:
> Undeclared identifier: 'Execute'.

For fanden Kurt, undskyld. Det hedder .ExecSQL
Open virker kun med SQL'er, der returnerer et resultatsæt.

> Desuden har jeg prøvet at anvende Paradox i stedet for FlasFiler med samme
> resultat!

Hvis ovennævnte ikke virker umiddelbart, så prøv at tjekke om der er noget
local sql fortolkning i BDE opsætningen.
(Du bruger BDE ikk')

--
Med venlig hilsen
Stig Johansen

Kurt (14-01-2005)
Kommentar
Fra : Kurt


Dato : 14-01-05 09:07

Så lykkedes det!!!
Tak for hjælpen.
/Kurt

"Stig Johansen" <stig_johansen_it_at_=(@)hotmail.com> wrote in message
news:41e61005$0$48318$14726298@news.sunsite.dk...
> Kurt wrote:
>
> > Jeg har nu prøvet begge varianter med samme fejlmelding som resultat.
> > Dog har jeg bibeholdt 'Open', da 'Execute' under compileringen gav
> > fejlmeldingen:
> > Undeclared identifier: 'Execute'.
>
> For fanden Kurt, undskyld. Det hedder .ExecSQL
> Open virker kun med SQL'er, der returnerer et resultatsæt.
>
> > Desuden har jeg prøvet at anvende Paradox i stedet for FlasFiler med
samme
> > resultat!
>
> Hvis ovennævnte ikke virker umiddelbart, så prøv at tjekke om der er noget
> local sql fortolkning i BDE opsætningen.
> (Du bruger BDE ikk')
>
> --
> Med venlig hilsen
> Stig Johansen



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

Månedens bedste
Årets bedste
Sidste års bedste