Power Builder - Importar Archivo

 
Vista:

Importar Archivo

Publicado por celso gomez (48 intervenciones) el 26/06/2001 07:35:02
Hola.

Tengo un problema, quisiera saber si hay alguna funcion que me permita saber si el archivo que estoy importando a un datawindows tiene la misma estructura(cantidad de columnas) que el datawindows que recibira los datos antes de que el import file se ejecute.

Esto debido a que si el archivo tiene menos columnas que el datawindows que lo recibira, el programa falla a la hora de importar, y si el archivo tiene mas columnas que el datawindows el programa no falla, pero esto altera el orden con que espero que aparescan los datos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Importar Archivo

Publicado por Oscar Barrientos (3 intervenciones) el 27/06/2001 18:40:50
OK, lo primero es que el Datawindow debe ajustarse al archivo de importacion, asi que la estrcutura con la que tienes que jugar no es la del archivo si no la del datawindow, para ver la estructura de las columnas y numero de columnas usa la funcion DESCRIBE, puedes consultarla en la ayuda para que veas todas las diferentes opciones.

Ahora yo estoy trabajando con las importaciones de unos archivos (TXT, XLS, DBF) y lo que hago es lo siguiente:

Primero yo no defino ninguna estructura de datawindow, si no que al datawindow pegado a la ventana, yo le utilizo la funcion CREATE, esta funcion me permite crear una estructura de datawindow segun una setencia SQL.
Entonces cuando me conecto al odbc para ver el archivo, yo creo una sintaxis que diga algo asi como 'SELECT * FROM TABLA' ese asterisco(*) me recupera todas las columnas del archivo y sus tipos de datos.
Asi el datawindow se crea con la misma estructura que el archivo.
Ejemplo :

string error_syntaxfromSQL, error_create
string new_sql, new_syntax

SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
connect;
new_sql = 'SELECT * FROM DATOS'
new_syntax = SQLCA.SyntaxFromSQL(new_sql, &
'Style(Type=grid)', error_syntaxfromSQL)

IF Len(error_syntaxfromSQL) > 0 THEN
// Display errors
MessageBox("Error","Error: " + String(SQLCA.SQLDBcode) + &
" " + "Mensaje: " + SQLCA.SQLErrText, Stopsign!,OK!)
ELSE
// Generate new DataWindow
w_openfile.dw_1.Create(new_syntax, error_create)
IF Len(error_create) > 0 THEN
MessageBox("Error","Error: "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar