Viasual Basic y SQL 2000
Hola:
Estoy realizando mi proyecto final de carrera el cual consiste en controlar un PLC a través del Puerto serie usando el protocolo MODBUS, cuyos resultados los vuelco luego en una Base de Datos creada en SQL Server 2000, mediante procedimientos almacenados, no tengo problemas para guardar y modificar las tablas que ya he creado con anterioridad, traigo los datos a un array y luego de modificar algún elemento del mismo, vuelvo a guardarlo en la misma tabla, ahora viene mi duda... Cómo puedo hacer para crear, ¿abrir o modificar una tabla en cualquier parte del disco? Puesto que cuando accedo a cualquier tabla existente lo hago indicando en connectionstring (uso ADODB) la ruta a una DB existente y además indicando en el store procedure la tabla de dicha DB si casualmente esto es lo que puede ser variable, en otras palabras lo que quisiera es poder obtener una ventana del tipo Abrir/Guardar q me muestre las Tablas existentes para poder modificarlas, y además tener la posibilidad de generar nuevas tablas en cualquier parte del disco. Espero haber podido especificar bien mi duda. El procedimiento q uso para acceder a los datos para modificarlos es el q sigue:
******************************************
Public Sub modificar_bob()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim i As Integer
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Modbus;Data Source=L"
cn.Open
For i = 0 To 124
Set rs = cn.Execute(" exec modificar_bob @id_bob = '" & i & "', estado_bob = '" & bobinas(i) & "', @hora_mod = '" & Date + Time & "' ")
' bobinas(i) es el array q uso para obtener los datos del PLC y tenerlos en memoria
Next i
cn.Close
End Sub
*******************************************
el store procedure para modificar es el siguiente:
CREATE PROCEDURE modificar_bob
@id_bob smallint,
@estado_bob bit,
@hora_mod datetime
AS
UPDATE mb_bob
SET
estado_bob = @estado_bob,
hora_mod = @hora_mod
where
id_bob = @id_bob
Return -1
GO
********************************************
Gracias por haberse tomado el trabajo de leer este "testamento" y si me puede ayudar, quedaré doblemente agradecido.
Carlos Espejo Risco
Estoy realizando mi proyecto final de carrera el cual consiste en controlar un PLC a través del Puerto serie usando el protocolo MODBUS, cuyos resultados los vuelco luego en una Base de Datos creada en SQL Server 2000, mediante procedimientos almacenados, no tengo problemas para guardar y modificar las tablas que ya he creado con anterioridad, traigo los datos a un array y luego de modificar algún elemento del mismo, vuelvo a guardarlo en la misma tabla, ahora viene mi duda... Cómo puedo hacer para crear, ¿abrir o modificar una tabla en cualquier parte del disco? Puesto que cuando accedo a cualquier tabla existente lo hago indicando en connectionstring (uso ADODB) la ruta a una DB existente y además indicando en el store procedure la tabla de dicha DB si casualmente esto es lo que puede ser variable, en otras palabras lo que quisiera es poder obtener una ventana del tipo Abrir/Guardar q me muestre las Tablas existentes para poder modificarlas, y además tener la posibilidad de generar nuevas tablas en cualquier parte del disco. Espero haber podido especificar bien mi duda. El procedimiento q uso para acceder a los datos para modificarlos es el q sigue:
******************************************
Public Sub modificar_bob()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim i As Integer
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Modbus;Data Source=L"
cn.Open
For i = 0 To 124
Set rs = cn.Execute(" exec modificar_bob @id_bob = '" & i & "', estado_bob = '" & bobinas(i) & "', @hora_mod = '" & Date + Time & "' ")
' bobinas(i) es el array q uso para obtener los datos del PLC y tenerlos en memoria
Next i
cn.Close
End Sub
*******************************************
el store procedure para modificar es el siguiente:
CREATE PROCEDURE modificar_bob
@id_bob smallint,
@estado_bob bit,
@hora_mod datetime
AS
UPDATE mb_bob
SET
estado_bob = @estado_bob,
hora_mod = @hora_mod
where
id_bob = @id_bob
Return -1
GO
********************************************
Gracias por haberse tomado el trabajo de leer este "testamento" y si me puede ayudar, quedaré doblemente agradecido.
Carlos Espejo Risco
1 Respuesta
Respuesta de Tomas Reyes
1