Visual Basic - nulos en sql server 2000

Life is soft - evento anual de software empresarial
 
Vista:

nulos en sql server 2000

Publicado por Cemental (21 intervenciones) el 09/10/2002 16:09:28
hola amigos de la web, tengo un problemon, sucede que en la base de datos de sql server 2000 existen datos nulos en las tablas y que al tratar de generar una base de datos en access me traen errores, en la insercion, lo cual hice un modulo donde supuestamente verificaba si el campo era nulo, de ser asi inicializaba una variable con un valor cero, espacio o fecha 01/01/1900 segun el tipo de dato, pero en visual no me reconoce el valor null de sql, lo cual me trae desesperado tratando de solucionar este problema, el codigo de lo que hago es algo asi:

if <recordset>!<campo> is null then
variable=<valor inicializado(0,' ',01/01/1900)>
else
variable=<recordset>!<campo>
endif

luego hago el insert con la variable, de sewr nulo el campo, guarda el valor inicializado, de lo contrario lo guarda con el campo, pero no me reconoce los nulos, lo cual pasa de largo y al tratar de guardar un valor nulo me reclama error, si alguien pudiera ayudarme, le estare eternamente agradecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:nulos en sql server 2000

Publicado por Iñaki (502 intervenciones) el 09/10/2002 16:18:32
Puedes utilizar lo siguiente :
variable = " " & recordset ! campo ' para guardar en variable

recordset ! campo = " " & variable ' para añadir o modificar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nulos en sql server 2000

Publicado por Fernando Gómez (143 intervenciones) el 09/10/2002 19:44:21
Saludos:

Me parece que puedes tener dos soluciones. Una de ellas, sería hacer el Select a MSSQLSVR2K de la siguiente manera:

cSQL = "Select IsNull(<Campo>,<Valor>) From <Tabla> Where <Condiciones>.

De esta manera, si <Campo> contiene algun valor null, regresara <Valor> y asi se soluciona tu problema, directamente desde SQL. Por otro lado, también puedes hacerlo desde BASIC de la siguiente manera (supongo que obRecordset es un objeto ADODB.Recordset o DAO.Recordset)

cVar = IIf(IsNull(ObRecordset("<Columna>")),"<Valor>,obRecordset("<Columna>"))

Así, si lo que trae tu campo es un valor nulo, se le asigna <Valor> a la variable. Caso contrario, asignas a la variable el valor de tu campo.

NOTA: La función IIf, incluída en las librerías de VBA, funciona de manera parecida al operador ternario de C/C++ ? :

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar