Sobre sql en visual basic

Hola quiero crear un campo a través de una instrucción sql en visual
basic 6.0, y que permita introducir valores nulos, pero no consigo
crear el campo que permita introducir valores nulos, la linea de código
es esta:
dat2. Execute "alter table conductor add column telefono string(50) "
He intentado poner "not null" al final de la instrucción pero no hace nada, lo único eso si, me cambia la propiedad de requerido a "si". Muchas Gracias.

1 respuesta

Respuesta
Debes colocarle NULL al final:
dat2.Execute "alter table conductor add column telefono string(50) NULL "
Gracias, pero si lo pongo como dices no me hace nada, estoy utilizando el access97 no se si eso tiene que ver. Saludos y muchas gracias.
"¿No hace nada" que significa? ¿Qué no da error? ¿Qué no crea el campo? ¿Qué no permite después de creado el campo dejarlo en nulo?
Pues que crea el campo pero no me cambia ninguna propiedad.
Eso no debe cambiar ninguna propiedad, ¿cuál propiedad esperas que cambie?
Pues quiero cambiar la propiedad, "Permitir longitud cero" a "Si", ya que por defecto te lo pone a "No".
Pero si el campo al crearlo queda que acepta nulos debería colocar esta propiedad en Si, y si la deja en No, entonces, esta propiedad de aceptar nulos tiene mayor jerarquía que permitir longitud a cero.
Ya hiciste la prueba si el campo acepta nulos, al hacer el INSERT o el UPDATE , no colocas este campo en la sentencia SQL te deberia poder hacer el INSERT o el UPDATE sin ningun tipo de problema? ¿Mensaje de error?
Gracias por todo, pero ya encontré la solución, primero creo los campos y luego con esta función cambio la propiedad "Permitir longitud cero":
Function permitezero() 'Cambia todos los campos de la base de datos a permitirzero="S"
  Dim I As Integer, J As Integer 
  Dim db As DAO.Database, td As TableDef, fld As Field, db_text As Variant, db_memo As   Variant
Set db = OpenDatabase(App.Path + "\configu.mdb")
'The following line prevents the code from stopping if you do not
'have permissions to modify particular tables, such as system
'tables.
On Error Resume Next
For I = 0 To db.TableDefs.Count - 1
Set td = db(I)
For J = 0 To td.Fields.Count - 1
Set fld = td(J)
If (fld.Type = 10) And Not _
fld.AllowZeroLength Then
fld.AllowZeroLength = True
End If
Next J
Next I
db.Close
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas