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