Creo que la cuestión va a estar en el envío de los parámetros de una función a otra, me explico
Antes de abrir la dbf Avisos, hago una comprobación del nombre del alias para éste usuario.
Code: Select all
aAlias:= cargaAlias()
Function CargaAlias
*******************
return { ;
cGetNewAlias( "ARTICULO" ),; // 1
cGetNewAlias( "MUNICI" ) ,; // 2
cGetNewAlias( "PROVIN" ) ,; // 3
cGetNewAlias( "PROPIE" ) ,; // 4
cGetNewAlias( "SEAT1" ) ,; // 5
cGetNewAlias( "RAPPEL" ) ,; // 6
cGetNewAlias( "EQUIPO" ) ,; // 7
cGetNewAlias( "REFEREN" ) ,; // 8
cGetNewAlias( "MATERIAL" ),; // 9
cGetNewAlias( "VEHICULO" ),; // 10
cGetNewAlias( "TIPOS" ) ,; // 11
cGetNewAlias( "CANON" ) ,; // 12
cGetNewAlias( "TEXTOS" ) ,; // 13
cGetNewAlias( "IMAGEN" ) ,; // 14
,; // 15
,; // 16
,; // 17
cGetNewAlias( "PARTE" ) ,; // 18
cGetNewAlias( "FIESTAS" ) ,; // 19
cGetNewAlias( "VACAS" ) ,; // 20
cGetNewAlias( "PROVE" ) ,; // 21
cGetNewAlias( "FACTURA" ) ,; // 22
cGetNewAlias( "ALMACEN" ) ,; // 23
cGetNewAlias( "ALBARAN" ) ,; // 24
cGetNewAlias( "EXTRAS" ) ,; // 25
cGetNewAlias( "CONDUC" ) ,; // 26
cGetNewAlias( "GASTOS" ) ,; // 27
cGetNewAlias( "REEMBOL" ) ,; // 28
cGetNewAlias( "RUTA" ) ,; // 29
cGetNewAlias( "AVISOS" ) ,; // 30
cGetNewAlias( "NALBARAN" ) ; // 31
}
Luego abro la dbf:
Code: Select all
dbUseArea(.T.,,Publicas:cUnidad+Publicas:cSubd+"\Avisos",aAlias[30],.T.)
(aAlias[30])->(OrdSetFocus("Fecha1"))
Y luego cuando paso de una funcion a otra que va a utilizar el alias, lo paso por referencia:
Code: Select all
DEFINE BUTTON RESOURCE "MUNDO" OF oBar NOBORDER MESSAGE "Visualizar Los Avisos en Internet" ACTION (cTitulo:="Visualización de Avisos en Internet",mirasql(cTitulo,aAlias));
WHEN Publicas:cAccesoC;
TOOLTIP "Visualizar Los Avisos en Internet"
Luego la funcion que recibe esto está así:
Code: Select all
static function mirasql(titulo,aAlias)
local oDlg, oLbx,n
USE mi_base VIA "ADORDD" TABLE "recogidas" MYSQL ;
FROM "mi_sitio" USER "usuario" PASSWORD "contraseña" alias "recogidas"
DEFINE DIALOG oDlg FROM 1, 1 TO 25, 79
oDlg:cTitle:=titulo
@ 1, 1 LISTBOX oLbx FIELDS recogidas->fecha, ;
recogidas->compania, ;
recogidas->Nombrer, ;
recogidas->Caller, ;
recogidas->Poblar, ;
recogidas->Comentario ;
HEADERS "Fecha ","Avisado por:","Recoger en:","Domicilio","Poblacion","Observaciones" ;
FIELDSIZES 45,100,100,100,60,100 ;
SIZE 284, 137 OF oDlg
oLbx:nLineStyle := 1
oLbx:nClrBackHead := RGB(248,191,36)
oLbx:bTextColor:= {|nRow,nCol,nStyle| If( nStyle==0 .and. nCol==8,CLR_HRED, ) }
oLbx:nClrPane:={||iIF((oLbx:cAlias)->(OrdKeyNo())%2==0,nRGB(242,247,252),nRGB(226,226,208))}
@154,08 BTNBMP LEFT PROMPT " Agregar" SIZE 50,19 OF oDlg RESOURCE "grabasql" ACTION oDlg:End()
@154,67 BTNBMP LEFT PROMPT " Modificar" SIZE 50,19 OF oDlg RESOURCE "modifisql" ACTION oDlg:End()
@154,125 BTNBMP LEFT PROMPT " Borrar" SIZE 50,19 OF oDlg RESOURCE "borrasql" //ACTION BorraU(oLbx )
@154,184 BTNBMP LEFT PROMPT " Buscar" SIZE 50,19 OF oDlg RESOURCE "buscasql" //ACTION BuscaU(oLbx,3,"Color")
@154,242 BTNBMP LEFT PROMPT " Salir" SIZE 50,19 OF oDlg RESOURCE "salirsql" ACTION (oDlg:End())
ACTIVATE DIALOG oDlg CENTERED
// esto lo he puesto aqui de momento para probar
recogidas->(Dbgotop())
Do while !recogidas->(Eof())
While .not. ((aAlias[30])->(Rlock())); end
(aAlias[30])->( dbappend())
(aAlias[30])->Fecha := recogidas->Fecha
(aAlias[30])->Fecha1 := recogidas->Fecha
(aAlias[30])->Pro := recogidas->compania
(aAlias[30])->Pro1 := recogidas->nombrer
(aAlias[30])->domi := recogidas->calle
(aAlias[30])->domi1 := recogidas->caller
(aAlias[30])->tel := ""
(aAlias[30])->tel1 := ""
(aAlias[30])->pobla := recogidas->Pobla
(aAlias[30])->pobla1 := recogidas->Poblar
(aAlias[30])->conductor:= "00006"
(aAlias[30])->nconductor:=" "
(aAlias[30])->hora := recogidas->hora
(aAlias[30])->notas := recogidas->comentario
(aAlias[30])->codpobla := " "
(aAlias[30])->rutar := "60"
(aAlias[30])->turno := "T"
(aAlias[30])->operador := "INTERNET"
(aAlias[30])->( dbUnlock() )
recogidas->(Dbskip())
enddo
// Recogidas->(Dbzap())
recogidas->(Dbclosearea())
RETURN NIL
Lo que he observado es que con ésta estructura, que funciona perfectamente sólo con dbf, cuando meto por medio el tema de adordd, me da error en la dbf.
Saludos
Jose Luis