Newsgroup: it.comp.lang.delphi
Titolo: Paradox -> Access Problemi di Conversione

Salve a tutti,il mio problema è che vorrei copiare il contenuto di un db 
paradox in un db access (che hanno gli stessi campi e stessi tipi)
La seguente routine funziona quando ci sono pochi record..ma già con 300 
  record delphi mi restituisce un errore del tipo:
" Impossibile aggiungere la quantità di dati desiderata. Inserire o 
incollare meno dati. Process stopped ....."
La routine è questa.
Dove sbaglio?
form1.ADOQuery1.SQL.Text := 'Insert into 
CDROM(NomeCD,Titolo,NCD,Categoria,NumPacco,Data,Beta,NoteVarie,Path) 
VALUES(:VarNomeCD,:VarTitolo,:VarNCD,:VarCategoria,:VarNumPacco,:VarData,:VarBeta,:VarNoteVarie,:VarPath)';
form1.Query1.SQL.Add('SELECT * FROM CDROM');
form1.Table1.Open;
form1.Table1.First;
form1.Query1.Open;
form1.ProgressBar1.Max:=form1.Query1.RecordCount;
if form1.Query1.RecordCount > 0 then
begin
while not form1.Query1.Eof do
begin 
form1.ADOQuery1.Parameters.ParamValues['VarNomeCD']:=form1.Query1.FieldValues['NomeCD']; 
 
form1.ADOQuery1.Parameters.ParamValues['VarTitolo']:=form1.Query1.FieldValues['Titolo']; 
 
form1.ADOQuery1.Parameters.ParamValues['VarNCD']:=form1.Query1.FieldValues['NCD']; 
 
form1.ADOQuery1.Parameters.ParamValues['VarCategoria']:=form1.Query1.FieldValues['Categoria']; 
 
form1.ADOQuery1.Parameters.ParamValues['VarNumPacco']:=form1.Query1.FieldValues['NumPacco']; 
 
form1.ADOQuery1.Parameters.ParamValues['VarData']:=form1.Query1.fieldbyname('Data').AsString; 
 
form1.ADOQuery1.Parameters.ParamValues['VarBeta']:=form1.Query1.fieldbyname('Beta').AsString; 
 
form1.ADOQuery1.Parameters.ParamValues['VarNoteVarie']:=form1.Query1.FieldValues['NoteVarie']; 
 
form1.ADOQuery1.Parameters.ParamValues['VarPath']:=form1.Query1.fieldbyname('Path').AsString;
form1.ADOQuery1.ExecSQL;
form1.ProgressBar1.StepBy(1);
form1.Query1.Next
end;
end;
form1.Query1.Close;
form1.Query1.SQL.Clear;
form1.ADOQuery1.Close;
form1.ADOQuery1.SQL.Clear;
Grazie mille!
Matteo

 incollare meno dati. Process stopped ....."
Un suggerimento alternativo... hai pensato di collegare la tabella paradox
dentro ad access e poi fare una qwery di accodamento? In questa maniera fa
tutto l'ado di access... è giusto un tips, magari criticabile... ;)
Ciao
Matteo

 incollare meno dati. Process stopped ....."
Quello non è un errore di delphi ma di access.
Stai tentando di inserire in un campo probabilmente di tipo stringa un
valore che eccede le dimesioni del campo stesso.
Bye
A.

Oppure puoi convertire la tabella direttamente con access....
Nuovo > Importa Tabella > Tipo File: Paradox > Ok ed hai la tabella formato
Access.
Ciao!


miyomo ha scritto:

il problema è che devo convertire il database a diverse persone (anche 
lontane da casa mia), quindi vorrei fare un programmino che lo fa 
automaticamente.
La soluzione che mi proponi tu presuppone che gli altri abbiamo 
access...il che non è detto :(
altri aiuti?
Grazie per le risposte

Alberto Salvati ha scritto:

hai ragione!
grazie mille :)
ciao

 access...il che non č detto :(
Allora torna fattibile la mia... ;)
nel file access salti il collegamento al database access.
Poi salvi una qwery di accodamento che provvede a portare i dati da paradox
ad access.
Da delphi ti basta lanciare la qwery e senza acěvere ms access installato fa
tutto da solo...
Ciao
Matteo

Grazie mille per i consigli!!
Ho appena risolto usando il mio programmino..
Bastava aumentare la grandezza dei compi access hehe
ciao e grazie ancora!
Matteo