Entre ayer y hoy he aprendido a utilizar VBA en Access para realizar unas modificaciones en unas bases de datos, lo pongo aqui como referencia por si vuelvo a necesitar hacer algo del estilo:
' ExecuteQuery: Realitza una modificació a la BD
' Provar amb:
' ExecuteQuery "INSERT INTO CamaraEnvasadoPreenvasado VALUES ('test', 'borrar')"
Sub ExecuteQuery(strSQL As String)
Dim cnn As ADODB.Connection
Dim lngAffected As Long
' Open the connection.
Set cnn = CurrentProject.Connection
' Execute the query.
cnn.Execute CommandText:=strSQL, _
RecordsAffected:=lngAffected, _
Options:=adExecuteNoRecords
'Debug.Print "Records Affected = " & lngAffected
' Close connection and destroy object variables.
cnn.Close
Set cnn = Nothing
End Sub
' TransformDB: Agafa els registres de Frustas_Hortalizas amb el
' camp "checkField" a true i guarda el num. suscriptor junt amb
' "idEnvase" a la taula RelacionEnvase
' Provar amb: TransformDB "Pre_codigo_PLU", 25
Sub TransformDB(checkField As String, idEnvase As Integer)
Dim cnnDB As ADODB.Connection
Dim recordSt As New ADODB.Recordset
Dim strSQL As String
Dim idSuscriptor As String
Dim i As Integer
' Connectar a la BD actual:
Set cnnDB = CurrentProject.Connection
' Obtenim els registres que tenen el camp indicat a true
strSQL = "SELECT * FROM Frustas_Hortalizas WHERE " & checkField & " = -1"
With recordSt
Set .ActiveConnection = cnnDB
.CursorType = adOpenKeyset
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open strSQL
End With
' Insertar a la taula RelacionEnvases una relacio entre
' l'idSusbcriptor dels registres trobats i el idEnvas corresponent
' al camp que hem comprovat
i = 0
If Not recordSt.EOF Then
recordSt.MoveFirst
End If
Do While Not recordSt.EOF
idSuscriptor = recordSt.Fields("Numero de suscriptor").Value
' Insertar amb ID de "envasado" 26
ExecuteQuery "INSERT INTO RelacionEnvases VALUES ('" & idSuscriptor & "','" & idEnvase & "')"
i = i + 1
recordSt.MoveNext
Loop
'Debug.Print "Fields " & recordSt.Fields.Count
Debug.Print "Found " & i & " registers with field " & checkField & " = true. idEnvase = " & idEnvase
' Close Connection object and destroy object variable.
cnnDB.Close
Set cnnDB = Nothing
End Sub
Mientras editamos el modulo en MS Access podemos pulsar CTRL+G para mostrar la ventana “Inmediato” y ahi se pueden ejecutar las funciones.
Necesito si tenes un ejemplo de en Visual 6.0 como hacer para crea una base de datos de Access 2003 , crear tablas , llenar datos , no correria en Visual sino en un HMI Wincc Flex de Siemens , pero utiliza Scrips en Visual para la programacion
tengo un problema en visual basic y es que al ejecutar una base de datos de access a visual con conectividad hecha el cn.Execute(strsql) me aparece un error y no me llama la base de datos, es decir necesito que me digan como puedo conectar la base de datos de mi proyecto al visual, ya que mi proyecto es de “palitos de queso buen gusto” y tiene clientes, proveedores, cartera, materia prima y prductos pero no me conecta por favor ayuda!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
como le creo na mi proyecto u n sistemja de seguridad con codigo en visual basic