Diferencias de SELECT - SQL Command de Vfp7 y Vfp9
Tengo un ComboBox en un formulario hecho en VFP7, se compila bien el exe con VFP9 per al ejecutarlo arroja error.
En Init del combo tengo:
#DEFINE ALLCOUNTRY_LOC "Año"
this.clear
this.additem(ALLCOUNTRY_LOC)
Local aCountries,cCountry
Dimension aCountries[1]
Select Distinct mes From MESES Order By mesnu Into array aCountries && selecciona los meses - ok en vfp7
For Each m.cCountry IN aCountries
IF !EMPTY(m.cCountry)
this.additem(m.cCountry) && ok en VFP7
ENDIF
ENDFOR
THIS.VALUE = ALLCOUNTRY_LOC
mmes = THIS.VALUE
CLOSE DATA
Comentarios sobre Init del Combo:
En VFP9 cambio el SELECT:
SELECT distinct MESES.mes, MESES.mesnu FROM MESES ORDER BY mesnu INTO array aCountries && para VFP9 OK
pero me da error en:
this.additem(m.cCountry)
En InteractiveChange del Combo tengo:
* MESES.DBF tabla de número y nombres de meses
LOCAL cDisplayValue
THISFORM.LockScreen = .T.
IF THIS.Value = "Año"
SELECT MESES.mesnu, MESES.mes,* FROM MESES ORDER BY MESES.mesnu INTO CURSOR Custs
ELSE
SELECT MESES.mesnu, MESES.mes,* FROM MESES ;
ORDER BY MESES.mesnu ;
WHERE UPPER(ALLTRIM(MESES.mes)) = UPPER(ALLTRIM(THIS.Value));
INTO CURSOR Custs
ENDIF
THISFORM.LockScreen = .F.
mmes = This.Value
IF mmes <> "Año"
mnums = 0
DO demesanu
IF mnums > MONTH(DATE()) AND YEAR(DATE()) = VAL(myearn)
USE cuentas.dbf
SET ORDER TO TAG ferepoven OF cuentas.cdx DESCENDING
GO TOP
LOCATE FOR YEAR(ferepoven) = VAL(myearn) AND MONTH(ferepoven) <= MONTH(DATE())
IF FOUND()
mnums = MONTH(ferepoven)
DO denuames
ELSE
IF ThisForm.temporal.value = 1
USE regispre.dbf
SET ORDER TO TAG fcharepo OF cuentas.cdx DESCENDING
GO TOP
LOCATE FOR YEAR(fcharepo) = VAL(myearn) AND MONTH(fcharepo) <= MONTH(DATE())
IF FOUND()
mnums = MONTH(fcharepo)
DO denuames
ENDIF
ENDIF
ENDIF
CLOSE DATA
mavisa = "EL MES DEBE SER IGUAL O ANTERIOR A "+ALLTRIM(mmes)
DO FORM avisarno
ENDIF
Endif
IF mmes = "Año"
mnums = 0
ENDIF
CLOSE DATA
ThisForm. Refresh()