Mensaje enviado por "J.A.P.S." <japs73vb@hotmail.com>
'Añadir un campo de Situación de la Obra
ActualizarTabla "Presupuesto", "SITOBRA", adVarWChar, 0, 1, "''", "Jet OLEDB:Allow Zero Length=True", "Jet OLEDB:Compressed UNICODE Strings=False"
'Añadir campo a la base de datos
Public Sub ActualizarTabla(Tabla As String, Campo As String, tipo As DataTypeEnum, Attributes As ColumnAttributesEnum, DefinedSize As Long, DatoDefecto As String, ParamArray Propiedades() As Variant)
On Error GoTo Fallo
Dim Cat As New ADOX.Catalog
Dim col As New ADOX.Column
Dim LngBucle As Long, Prop() As String, StrProp As String
Dim ExisteCampo As Boolean
Campo = UCase$(Campo)
Set Cat.ActiveConnection = BDGESTION
ExisteCampo = False
With Cat.Tables(Tabla)
For LngBucle = 0 To .Columns.Count - 1
If UCase$(.Columns(LngBucle).Name) = Campo Then
ExisteCampo = True
End If
Next LngBucle
End With
If Not ExisteCampo Then
With col
.Name = Campo
.Type = tipo
.Attributes = Attributes
.DefinedSize = DefinedSize
Set .ParentCatalog = Cat
For LngBucle = LBound(Propiedades) To UBound(Propiedades)
StrProp = Propiedades(LngBucle)
Prop = Split(StrProp, "=")
.Properties(Prop(0)) = CVar(Prop(1))
Next LngBucle
End With
Cat.Tables(Tabla).Columns.Append col
'Si existe un datos por defecto se guarda en toda la tabla
If DatoDefecto <> "" Then
StrProp = "update " + Tabla + " set " + Campo + "=" + DatoDefecto
Dim Rst As New ADODB.Recordset
Set Rst = BDGESTION.Execute(StrProp)
Set Rst = Nothing
End If
End If
Set Cat = Nothing
Exit Sub
Fallo:
Set Cat = Nothing
Err.Raise vbObjectError, "ActualizarTabla(" + Tabla + ", " + Campo + " (" + Err.Source + "))", Err.Description
End Sub
----- Original Message -----
From: Eric Rodriguez
To: visualbasic-esp@yahoogroups.com
Sent: Wednesday, May 23, 2001 11:43 PM
Subject: (VB-ESP) Cambiar propiedad Allow Zero Length
Alguien tendra un codigo con el cual pueda cambiar la propiedad Allow Zero Length a todos los campos de una Base de datos Access.
Gracias.