Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________
dado que esta funcion es para dbf, me vi en la necesidad de modificarla para cualquier bd en mi caso es SQlserver, utilizando ADO, la estructura al inicio es la misma lo que cambia en si es la funcion.
FUNCTION NuevoID(tcAlias) #INCLUDE ADOVFP.H LOCAL cn,rs,Msql,lnID
cn=CreateObject("adodb.connection") rs=CreateObject("adodb.recordset") cn.ConnectionString="Provider=SQLOLEDB.1;Data Source=TUSERVER;Initial Catalog=TUBD;Integrated Security=SSPI;" cn.open()
msql="select * from IDS WHERE Ctabla='"+tcAlias+"'"
rs.Open(mSql, cn,adOpenKeyset,adLockOptimistic,adCmdText)
IF NOT rs.eof() lnID = rs.Fields(1).Value + 1 rs.Fields(1).value = lnID rs.Update() ENDIF rs.close() RETURN lnIDENDFUNC
Archivo AdoVfp.h
*--------------------------------------------------------------------* Microsoft ADO** (c) 1998 Microsoft Corporation. All Rights Reserved.**** ADO constants include file for Visual FoxPro**--------------------------------------------------------------------
*---- CursorTypeEnum Values ----#DEFINE ADOPENFORWARDONLY 0#DEFINE ADOPENKEYSET 1#DEFINE ADOPENDYNAMIC 2#DEFINE ADOPENSTATIC 3
*---- CursorOptionEnum Values ----#DEFINE ADHOLDRECORDS 0x00000100#DEFINE ADMOVEPREVIOUS 0x00000200#DEFINE ADADDNEW 0x01000400#DEFINE ADDELETE 0x01000800#DEFINE ADUPDATE 0x01008000#DEFINE ADBOOKMARK 0x00002000#DEFINE ADAPPROXPOSITION 0x00004000#DEFINE ADUPDATEBATCH 0x00010000#DEFINE ADRESYNC 0x00020000#DEFINE ADNOTIFY 0x00040000
*---- LockTypeEnum Values ----#DEFINE ADLOCKREADONLY 1#DEFINE ADLOCKPESSIMI