Visual Basic - Uso Correcto

Life is soft - evento anual de software empresarial
   
Vista:

Uso Correcto

Publicado por Edgar (20 intervenciones) el 27/04/2009 19:14:35
Hola a Todos espero ahora si me puedan aclarar una duda que tengo.

se que para ustedes es facil , lo que quiero saber es como puedo hacerle para que al momento de abrir mi programa no muestre en las cajas de texto la ultima informacion capturada y que tampoco sobreescriba ese ultimo registro con el que se va a capturar , yo uso ADO pero lo configure directamente de el control en las propiedades ya que no lo e podido configurar con codigo y las cajas de texto estan enlazadas a ese ADODC1 en las propiedades recordsource y datafield y mi boton guardar solo tiene ADODC1.recordset.addnew bien basico.

la duda es esa como hacerle para que cuando cierre y abra el programa de nuevo no me muestre las cajas de texto con info y que tampoco me sobreescribe el ultimo registro que se guardo con el nuevo que se guarde una vez que se abrio de nuevo el programa , que funcione como debe de ser en pocas palabras gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Uso Correcto

Publicado por Esperanza (38 intervenciones) el 28/04/2009 09:20:44
Te aconsejo que te olvides de adodc1 y seas tu quien controle los datos. Te pongo un ejemplo en el que se carga una tabla a partir de los datos de las cajas de texto, para que a partir de ahí puedas seguir:

Private Sub Form_Load()

Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
With cnn
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
ruta & ";Persist Security Info=False"
.Open
End With
borrar_cajas_texto
cargar_datos
End Sub

Private Sub borrar_cajas_texto()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text5.Text = ""
Text4.Text = ""
Me.Refresh
End Sub

Private Sub cargar_datos()
rs.Open "Select * from [Mi_Tabla]", cnn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Campo1 = Text1.Text
rs!Campo2 = Text2.Text
rs!Campo3 = Text3.Text
rs!Campo4 = Text4.Text
rs.Update
rs.MoveLast
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Uso Correcto

Publicado por P3L30N2009 (701 intervenciones) el 28/04/2009 13:45:18
Eso está bien Esperanza, pero si primero ejecutas la subrutina borrar_cajas_texto (que no entiendo para que sirve lo de Me.Refresh) y a continuación la Sub cargar_datos (que tampoco entiendo que pinta lo de rs.MoveLast) pues como que te va a crear un nuevo registro con todos los datos en blanco, es decir, nulos.

Eso claro, suponiendo que ya tienes declarado el objeto conexión y recordset como Public, o al menos a nivel de módulo.

Hay otras formas mas eficientes para añadir, modificar o eliminar registros de una tabla y son las consultas SQL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Uso Correcto

Publicado por Edgar (20 intervenciones) el 29/04/2009 20:48:03
Gracias por contestar Esperanza te agradezco tu ejemplo me ha sido de mucha ayuda , en cuanto a lo que comenta P3L30N2009 cual es esa forma eficiente de la que hablas sera la funcion INSERT con una consulta SQL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar