|
| 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
| |
|
|