Ayudenme Creacion de Base de Datos

Ra?arv? Avellaneda
30 de Octubre del 2005
Necesito que despues de crear una base de datois con sus respectivos campos recuperar los registros que puedan tener especificando desde un cuadro de texto el campo a recuperar ahi les mando la codificacion para que puedan ayudarme

'POR FAVOR MANDARME RESPUESTA CUALQUIER AYUDA O PISTA SERA BIENVENIDA
'MANDAR A [email protected]
'Gracias Amigos

'=====================================================================
'Para crear una base de datos con la tabla y campos especificadas
Private Sub cmdcrearbasededatos_Click()
'Se declara la variable que sera el espacio de trabajo
Dim Espaciodetrabajo As Workspace
'Se declara la variable que sera el objeto base de datos
Dim basededatos As Database
'Se declara la variable que sera el objeto Tabla
Dim tabla As TableDef

'Se crea el espacio de trabajo
Set Espaciodetrabajo = DBEngine.Workspaces(0)
'Si la base de datos existe se borrara para remplazarlo con uno nuevo
If Dir("C:Lista de Nombres.mdb") <> "" Then Kill ("C:Lista de Nombres.mdb")
'Se crea la base de datos a trabajar
Set basededatos = Espaciodetrabajo.CreateDatabase("C:Lista de Nombres.mdb", dbLangGeneral, dbEncrypt)
'Esta accion indica si se cerrara la base de datos o se continuara sin cerrar
basededatos.Close
'Se abre la base de datos para proseguir el trabajo
Set basededatos = OpenDatabase("C:Lista de Nombres.mdb")
'Se crea la tabla a trabajar
Set tabla = basededatos.CreateTableDef("Nombres")
'Se crea los respectivos campos con los atributos que se desea para el trabajo
Agregareliminarcampo tabla, "APPEND", "Nombre", dbText, 50
Agregareliminarcampo tabla, "APPEND", "Edad", dbInteger, 5

'cumple la orden de crear la tabla y los campos especificado sin esta codificacion se obviara la tabla y campos
basededatos.TableDefs.Append tabla

'-------------------
cmdlistar.Enabled = True
'-------------------

'=================================================
'Agregamos algunos datos
Dim consulta As Recordset
Set consulta = basededatos.OpenRecordset("Nombres", dbOpenDynaset)

agregarregistro consulta
End Sub

Private Sub cmdlistar_Click()
'Se declara la variable que sera el objeto base de datos
Dim basededatos As Database
'Se declara la variable que sera la tabla
Dim tabla As Recordset
'Se declara la variable que sera la Consulta
Dim sqltemporal As Recordset
'se quiere lograr que este sea el campo que se ingrese desde el cuadro de texto
Dim Campo As Variant
'-----------------
lis_reg.Clear
'-----------------
'como hacer para que campo tome el valor de txt_cam solo como !Nombre sin las comillas
'campo = ¿? 'txt_cam
'Se abre la base de datos para proseguir el trabajo
Set basededatos = OpenDatabase("C:Lista de Nombres.mdb")
'Se abre la base la tabla requerida
Set tabla = basededatos.OpenRecordset("Nombres", dbOpenDynaset)
'Se realiza la seleccion
Set sqltemporal = basededatos.OpenRecordset("select Nombre From Nombres ") 'WHERE " + [condicion])
'llenamos el lis_reg con los campos
With sqltemporal
Do While Not .EOF
lis_reg.AddItem !Nombre 'campo
.MoveNext
Loop
.Close
End With
'cerramos base de datos y tabla
tabla.Close
basededatos.Close
End Sub

'============================================================

Private Sub Form_Load()
'-----------------------
cmdlistar.Enabled = False
'----------------------
End Sub

'========================================================
'Funcion para Agregar datos
Function agregarregistro(sqltemporal As Recordset)
With sqltemporal
'Para agregar datos nuevos datos
For X = 1 To 10
.AddNew
!Nombre = "Nombre " + Str(X)
!Edad = X
.Update
.Bookmark = .LastModified
Next

End With
End Function


Sub Agregareliminarcampo(Tablatemporal As TableDef, Accion As String, Campo As String, Optional Tipo, Optional Tamaño)

With Tablatemporal

' Comprueba primero para ver si el objeto Tablatemporal se puede actualizar. Si no, el control vuelve al procedimiento que lo llama.
If .Updatable = False Then
MsgBox "Tablatemporal no se puede actualizar! " & "No se puede terminar la tarea."
Exit Sub
End If

' Dependiendo de los datos transferidos, se
' agrega o elimina un campo de la colección
' Fields del objeto TableDef especificado.
If Accion = "APPEND" Then
.Fields.Append .CreateField(Campo, Tipo, Tamaño)
Else
If Accion = "DELETE" Then .Fields.Delete Campo
End If

End With

End Sub