Ejecuto este código y me da error de 94 uso no valido de NULL , en Rojo pongo donde me da el Error... ¿ Como puedo solucionarlo ?
Private Sub Comando11_Click() 'borramos los datos de las tablas destino borrar Dim campo As Object ' creamos el objeto recorset con los datos de la tabla twptelefonicadestino Dim rsttwptelefonica As DAO.Recordset ' creamos el objeto recorset con los datos de la tabla twpumedestino Dim rsttwpume As DAO.Recordset ' creamos el objeto recorset con los datos de la tabla twptelefonicadestino Dim rsttwptelefonicafiltrado As DAO.Recordset ' creamos el objeto recorset con los datos de la tabla twpumedestino Dim rsttwpumefiltrado As DAO.Recordset ' creamos el objeto recorset con los datos de la tabla twptelefonicadestino Dim rsttwptelefonicadestino As DAO.Recordset ' creamos el objeto recorset con los datos de la tabla twpumedestino Dim rsttwpumedestino As DAO.Recordset ' consulta SQL Dim strSQLtwptelefonica As String ' consulta SQL Dim strSQLtwpume As String ' consulta SQL Dim strSQLtwptelefonicafiltrado As String ' consulta SQL Dim strSQLtwpumefiltrado As String ' consulta SQL Dim strSQLtwptelefonicadestino As String ' consulta SQL Dim strSQLtwpumedestino As String ' valores nombre del campo y valor del campo Dim nombrecampo As String Dim valorcampo As String ' creamos la consulta de los datos que queremos recuperar strSQLtwptelefonica = "SELECT [Identificador], [Estado], [Número de serie], [Uso], [GFA nominal], [Última configuración] FROM TWPTELEFONICA" ' creamos la consulta de los datos que queremos recuperar strSQLtwpume = "SELECT [Identificador], [Estado], [Número de serie], [Uso], [GFA nominal],[Última configuración] FROM TWP WHERE Estado = " & " '" & "En servicio" & "' " '"SELECT * FROM ALTASBAJAS WHERE Identificador = " & " '" & datos & "'" & " And id_alta = " & datos1 & ";"
' creamos la consulta de los datos que queremos recuperar strSQLtwpumedestino = "SELECT * FROM TWPUMEDESTINO" ' creamos la consulta de los datos que queremos recuperar strSQLtwptelefonicadestino = "SELECT * FROM TWPTELEFONICADESTINO" ' rellenamos el recorset con la consulta de sql de la tabla twptelefonica Set rsttwptelefonica = CurrentDb.OpenRecordset(strSQLtwptelefonica) ' rellenamos el recorset con la consulta de sql de la tabla twptume Set rsttwpume = CurrentDb.OpenRecordset(strSQLtwpume) ' rellenamos el recorset con la consulta de sql de la tabla twpumedestino Set rsttwpumedestino = CurrentDb.OpenRecordset(strSQLtwpumedestino) ' rellenamos el recorset con la consulta de sql de la tabla twpumedestino Set rsttwptelefonicadestino = CurrentDb.OpenRecordset(strSQLtwptelefonicadestino) ' borramos los registros antiguos de la tabla twptelefonicadestino Do Until rsttwptelefonica.EOF ' creamos la consulta de los datos que queremos recuperar strSQLtwpumefiltrado = "SELECT [Identificador], [Estado], [Número de serie], [Uso], [GFA nominal],[Última configuración] FROM TWP WHERE Identificador = " & " '" & rsttwptelefonica(0) & "'" Set rsttwpumefiltrado = CurrentDb.OpenRecordset(strSQLtwpumefiltrado) If rsttwpumefiltrado.EOF = True Then '''''''''''''''''''''''''''''''''''''''''''''' '''' copiar a telefonica destino ''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' rsttwptelefonicadestino.AddNew For Each campo In rsttwptelefonica.Fields ' cambiamos los valores de un recorset a otro nombrecampo = campo.Name valorcampo = campo rsttwptelefonicadestino(nombrecampo) = valorcampo Next rsttwptelefonicadestino.Update '''''''''''''''''''''''''''''''''''''''''''''' '''''''' fin copiar telefonica destino ''''''' '''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' '''' editar ume destino ''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' rsttwpumedestino.AddNew rsttwpumedestino("Identificador") = rsttwptelefonica(0) rsttwpumedestino("Estado") = "0" rsttwpumedestino("Número de serie") = "0" rsttwpumedestino("Uso") = "0" rsttwpumedestino("GFA nominal") = "0" rsttwpumedestino("Última configuración") = "01/01/1999" rsttwpumedestino.Update '''''''''''''''''''''''''''''''''''''''''''''' '''''''' fin editar ume destino ''''''' '''''''''''''''''''''''''''''''''''''''''''''' Else If rsttwpumefiltrado(1) = rsttwptelefonica(1) And rsttwpumefiltrado(2) = rsttwptelefonica(2) And rsttwpumefiltrado(3) = rsttwptelefonica(3) And rsttwpumefiltrado(4) = rsttwptelefonica(4) And rsttwpumefiltrado(5) = rsttwptelefonica(5) Then ' no hacer nada 'MsgBox ("ok") ElseIf rsttwpumefiltrado(1) <> rsttwptelefonica(1) Or rsttwpumefiltrado(2) <> rsttwptelefonica(2) Or rsttwpumefiltrado(3) <> rsttwptelefonica(3) Or rsttwpumefiltrado(4) <> rsttwptelefonica(4) Or rsttwpumefiltrado(5) <> rsttwptelefonica(5) Then '''''''''''''''''''''''''''''''''''''''''''''' '''' copiar a telefonica destino ''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' rsttwptelefonicadestino.AddNew For Each campo In rsttwptelefonica.Fields ' cambiamos los valores de un recorset a otro nombrecampo = campo.Name valorcampo = campo rsttwptelefonicadestino(nombrecampo) = valorcampo Next rsttwptelefonicadestino.Update '''''''''''''''''''''''''''''''''''''''''''''' '''''''' fin copiar telefonica destino ''''''' '''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' '''' copiar ume destino ''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' rsttwpumedestino.AddNew For Each campo In rsttwpumefiltrado.Fields ' cambiamos los valores de un recorset a otro nombrecampo = campo.Name valorcampo = campo rsttwpumedestino(nombrecampo) = valorcampo Next rsttwpumedestino.Update '''''''''''''''''''''''''''''''''''''''''''''' '''''''' fin copiar ume destino ''''''' '''''''''''''''''''''''''''''''''''''''''''''' End If End If rsttwpumefiltrado.Close Set rsttwpumefiltrado = Nothing rsttwptelefonica.MoveNext Loop Do Until rsttwpume.EOF ' creamos la consulta de los datos que queremos recuperar strSQLtwptelefonicafiltrado = "SELECT Identificador, Estado, [Número de serie], Uso, [GFA nominal],[Última configuración] FROM TWPTELEFONICA WHERE Identificador = " & " '" & rsttwpume(0) & "'" Set rsttwptelefonicafiltrado = CurrentDb.OpenRecordset(strSQLtwptelefonicafiltrado) If rsttwptelefonicafiltrado.EOF = True Then '''''''''''''''''''''''''''''''''''''''''''''' '''' copiar a ume destino ''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' rsttwpumedestino.AddNew For Each campo In rsttwpume.Fields ' cambiamos los valores de un recorset a otro nombrecampo = campo.Name valorcampo = campo rsttwpumedestino(nombrecampo) = valorcampo Next rsttwpumedestino.Update '''''''''''''''''''''''''''''''''''''''''''''' '''''''' fin copiar ume destino ''''''' '''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' '''' editar telefonica destino ''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''' rsttwptelefonicadestino.AddNew rsttwptelefonicadestino("Identificador") = rsttwpume(0) rsttwptelefonicadestino("Estado") = "0" rsttwptelefonicadestino("Número de serie") = "0" rsttwptelefonicadestino("Uso") = "0" rsttwptelefonicadestino("GFA nominal") = "0" rsttwptelefonicadestino("Última configuración") = "01/01/1999" rsttwptelefonicadestino.Update '''''''''''''''''''''''''''''''''''''''''''''' '''''''' fin editar telefonica destino ''''''' '''''''''''''''''''''''''''''''''''''''''''''' End If rsttwptelefonicafiltrado.Close Set rsttwptelefonicafiltrado = Nothing rsttwpume.MoveNext Loop rsttwptelefonica.Close Set rsttwptelefonica = Nothing rsttwpume.Close Set rsttwpume = Nothing rsttwptelefonicadestino.Close Set rsttwptelefonicadestino = Nothing rsttwpumedestino.Close Set rsttwpumedestino = Nothing Subformulario_TWPUMEDESTINO.Requery Subformulario_TWPTELEFONICADESTINO.Requery
End Sub
Gracias
|