para Gerardo Vega (y demás principiantes)
Hola.. tengo esto que uso en mysql acces seria basicamente lo mismo
saludos
****FUNCIONES SQL SERVER*****
**** INSERTA REGISTRO EN LA BASE DE DATOS RECIBIENDO LA TABLA, CADENA DE CAMPOS Y CADENA DE VALORES ****
Function inserta_registro(tabla,campos,valores)
sql_insert='insert into '+tabla+' ('+campos+' ) '+'values ( '+valores+' ) '
if sqlexec(CnxSde,sql_insert)=1
=sqlcommit(CnxSde)
else
=sqlrollback(CnxSde)
endif
Endfunc
**** ACTUALIZA REGISTRO EN LA BASE DE DATOS RECIBIENDO LA TABLA, CADENA DE CAMPOS Y CADENA DE VALORES ****
Function actualiza_registro(tabla,campos,condicion)
sql_actualiza='update '+tabla+ ' set ' +campos+ ' where '+condicion
if sqlexec(CnxSde,sql_actualiza)=1
=sqlcommit(CnxSde)
else
=sqlrollback(CnxSde)
endif
Endfunc
**** BUSCA SI EXISTE UN VALOR EN LA TABLA****
Function busca_si_existe(nombre_tabla,campo_compara,valor_busca)
sql_busca='select count('+campo_compara+') as encuentra'+' from '+nombre_tabla+' where '+nombre_tabla+"."+campo_compara+"="+"'"+valor_busca+"'"
sqlexec(CnxSde,sql_busca,'cbusca')
if cbusca.encuentra<=0
select cbusca
use
return .f.
else
select cbusca
use
return .t.
endif
Endfunc
**** BUSCA SI EXISTE UN VALOR EN LA TABLA Y RETORNA EL CAMPO QUE SE ELIJE****
Function busca_valor(nombre_tabla,campo_elije,condicion)
Tempo='TE'+substr(sys(2015),3,8)
sql_busca_valor='select '+campo_elije+ ' from '+nombre_tabla+ ' where '+condicion
valor_retorna=''
sqlexec(CnxSde,sql_busca_valor,tempo)
if !empty('tempo')
select &tempo
combina=&tempo..&campo_elije
valor_retorna=combina
use
return valor_retorna
else
use
return valor_retorna
endif
Endfunc
Function retorna_query(tablas,campos,condicion)
tempo='TE'+substr(sys(2015),3,8)
if !empty(condicion)
sql_busca='select '+campos+ ' from '+tablas+ ' where '+condicion
else
sql_busca='select '+campos+ ' from '+tablas
endif
sqlexec(CnxSde,sql_busca,tempo)
return tempo
Endfunc
Function destruye_query(query)
if used ('&query')
select &query
use
endif
Endfunc
Function secuencia(tabla,campo,tipo,longitud)
tempo='TE'+substr(sys(2015),3,8)
sql_secuencia='select max'+'('+campo+') as '+campo +' from '+tabla
sqlexec(CnxSde,sql_secuencia,tempo)
secuencia=&tempo..&campo
SELECT &tempo
use
if tipo='N'
return secuencia+1
else
res=val(secuencia)+1
secuencia=replicate("0",longitud-(len(allt(str(res)))))+(allt(str(res)))
return secuencia
ENDIF
Endfunc