Hola
Como tendría que hacer para trabajar con archivos temporales pero que estos no se sumen al diccionario de datos. (ADS ), es decir trabajarlo a estos archivos como tablas libres.
xharbour 0.99.71
ADS 8.1
Hugo
Hola
Como tendría que hacer para trabajar con archivos temporales pero que estos no se sumen al diccionario de datos. (ADS ), es decir trabajarlo a estos archivos como tablas libres.
xharbour 0.99.71
ADS 8.1
Hugo
cFileTemp := cNewFileName( ViewUsu():cPathTmp + "\TEMPO", "DBF" )
cFileCdx := cNewFileName( ViewUsu():cPathTmp + "\TEMPO", "CDX" )
dbCreate( cFileTemp, ;
{ { "cod_prod", "c", 15,0},;
{ "des_prod", "C", 40,0},;
{ "Stock", "n", 10,0},;
{ "cant1", "n", 10,0},;
{ "cant2", "n", 10,0},;
{ "cant3", "n", 10,0},;
{ "cant4", "n", 10,0}}, "DBFCDX", .t., "TEMP" )
INDEX ON FIELD->COD_PROD TAG CODIGO TO (cFileCdx)
SET INDEX TO (cFileCdx)Hola,
prueba abrir la tabla especificando el RDD de manera explicita
USE temp INDEX temp VIA "DBFCDX" NEW.......... u otro RDD
saludos
Marcelo
Hola
Gracias Patricio por tu respuesta pero no logro que funcione.
Pregunta , que indica los parametros 4 y 5 del dbcreate..?
Gracias
cCrea := cTemp //+ ".ADT"
AADD(aTempora,{"ARTICULO","C",15,0})
AADD(aTempora,{"NOMBRE" ,"C",60,0})
AADD(aTempora,{"CAJAS","N",15,3}) // 999,999.99
AADD(aTempora,{"PIEZAS","N",15,3}) // 999,999.99
AADD(aTempora,{"PRECIO" ,"N",15,4}) // 99,999.99
AADD(aTempora,{"IMPORTE" ,"N",15,2}) // 999,999.99
AADD(aTempora,{"DESCTO" ,"N",06,2}) // 999.99
AADD(aTempora,{"IMPDES" ,"N",09,2}) // 99,999.99
AADD(aTempora,{"GTOTAL" ,"N",10,2}) // 999,999.99
AADD(aTempora,{"SERIES" ,"C",25,0})
AADD(aTempora,{"DESCTOA" ,"N",06,2}) // 999.99
AADD(aTempora,{"RENGLON" ,"N",05,0}) // 99
AADD(aTempora,{"PRECIOA" ,"N",09,2}) // 99,999.99
AADD(aTempora,{"CDESCTO" ,"C",05,0}) // 99,999.99
AADD(aTempora,{"CANTIDAD","N",09,2}) // 99,999.99
AADD(aTempora,{"CODIGO","C",15,0})
AADD(aTempora,{"COSTOC" ,"N",15,4}) // 99,999.99
AADD(aTempora,{"COSTOP" ,"N",15,4}) // 99,999.99
DbCreate(cPathDAT+cCrea,aTempora,DbSetDriver())DbCreate()
Creates an empty database from a structure definition array.
Syntax
DbCreate( <cDatabase> , ;
<aStructure>, ;
[<cDriver>] , ;
[<lNewArea>] , ;
[<cAlias>] ) --> NILprocedure RddInit()
REQUEST HB_LANG_ES
REQUEST DBFCDX, DBFFPT
REQUEST ADS
REQUEST OrdKeyCount, OrdKeyNo, OrdKeyGoto, ADSKeyNo, AdsSetRelKeyPos, AdsGetRelKeyPos
returnPatricio, un apregunta, los temporales los usas en el mismo directorio donde se encuentran tus tablas ?
porque yo lo tengo en el mismo directorio tengo mis tablas y mis temporales
solo el diccionario esta una carpeta antes de los datos.
#Define DRIVELOCAL DiskName() + ":\"+Curdir()
:cPathTmp := DRIVELOCAL + "\TEMPORAL"Limpie el código y funciono !!
Gracias Patricio por tu tiempo.
Yo también tengo distribuido el sistema en cada equipo y los temporarios los genero en el una carpeta sobre el server.
Es conveniente, desde el punto de vista de la velocidad, generarlo en cada equipo.?
Hugo
Hugo:
Pienso que por logica sobre modo local debiera ser mucha mas rapido que por server
ya que al crear una dbf temporal ya no seria cliente / servidor si no que un dbf normal..
lo otro como es temporal al final de la rutina hay que eliminarlos..
Patricio, ya lo intente como comentas con los temporales.
El detalle es que sigue poniendo el nombre del temporal en el diccionario, donde quiera que pongas el temporal.
Yo uso temporales ADT, voy a probar usando temporales DBF aver que pasa.
Saludos.