Introducir datos desde un textbox a una Bd.mdb en VB6

A peticion de nuestro amigo snellah, en el foro de Visual Basic (spanish), os adjunto el proyecto para su descarga…

En Visual Basic 6 Una de las maneras mas simples cuando estas empezando, es el uso de los componentes 'Data' y 'MSFlexGrid' de la barra de herramientas. Es tan simple como arrastrar un 'textbox' un 'msflexgrid' un 'data' y un 'command', en la propiedad 'datasource' del msflexgrid le seleccionas 'data1' y luego insertas este codigo al evento 'load' y 'command_click' ….

Private Sub Command1_Click()
    Me.Data1.Recordset.AddNew
    Me.Data1.Recordset("Texto") = Me.Text1.Text
    Me.Data1.Recordset.Update
    Me.Data1.Refresh
    Me.MSFlexGrid1.Col = 2
    Me.MSFlexGrid1.TopRow = Me.MSFlexGrid1.Rows – 1
    Me.MSFlexGrid1.Refresh
End Sub

Private Sub Form_Load()
    Me.Data1.DatabaseName = "Bd1.mdb"
    Me.Data1.RecordSource = "Tabla1"
    Me.Data1.Refresh
    '
    'la proiedad de datasouce del MSFlexGrid1 debe enlazarse con 'Data1'
    Me.MSFlexGrid1.ColWidth(0) = 200
    Me.MSFlexGrid1.ColWidth(1) = 400
    Me.MSFlexGrid1.ColWidth(2) = 3300
End Sub

Este ejemplo inserta el contenido de text1.text en la ultima posicion de la Bd1.mdb, a partir de aqui podrias introducirte para utilizar los objetos  'DataBase y RecordSet' y disponer de un mayor control. Espero vuestros comentarios.
Pep Lluis,

 

Visualizar una columna de una BD de Access en un Combo

En plena efervescencia del SQL Express 2005 como almacen de lujo en nuestras pequeñas aplicaciones de datos, continua siendo frecuente en algunos foros de VB preguntas referentes al enlace de ciertos controles con BD's de Access. La respuesta habitual es un link a toda la documentacion de ADO… DAO… SqlClient, lo que ha cambiado desde VB6, desde VB2003 o lo que es mas recomendable en VB2005. Verdaderamente es una buena practica conocer todas las posibilidades de acceso a datos (tipados, no tipados… ufff), pero en ayuda a los que estan empezando creo que es mas beneficioso un simple ejemplo. ¡ Ahi Va ! 

En algunas ocasiones puede sernos util poder cargar las opciones de nuestros combos, desde una base de datos access. Imagemos que mantenemos una lista de poblaciones… provincias… articulos, etc. desde Access, y que posteriormente utilizamos esta en una aplicacion para seleccionar las opciones de las mismas como parte de formularios cliente, en un proceso de introduccion de datos.

Imports System.Data.OleDb

Class Form1
   Private objConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; User ID=Admin; Data Source=C:\Bd1.mdb"
)
   Private objAdapter As New OleDbDataAdapter("SELECT * FROM Productos"
, objConn)
   Private objDataSet As New
DataSet()
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase
.Load
      objConn.Open()
      objAdapter.Fill(objDataSet)
      Me
.ComboBox1.DataSource = objDataSet.Tables(0)
      Me.ComboBox1.DisplayMember =
"Columna"
      Me.ComboBox1.ValueMember =
"Id"
      objConn.Close()
   End
Sub
End
Class

¿verdad que facil?
Pep Lluis,

Concurso Busca Talentos 2006

El reencuentro tiene premio

Buscamos personas introducidas en el mundo de la programación para ayudarlas en su formación y acercarlas al conocimiento de las nuevas herramientas de desarrollo, ofreciéndoles la posibilidad de obtener importantes premios. Únicamente será necesario que nos expliques tus ideas para que, posteriormente, podamos ayudarte a demostrar tu conocimiento. El objetivo es mantener nuestro espíritu de compartir y difundir las T.I. en general, potenciando la colaboración y participación en las actividades y compromisos de nuestra comunidad, incluyendo a todas aquellas personas que por distancia o disponibilidad no pueden participar de las actividades habituales de los grupos de desarrolladores.

Dirigido a personas que

  • Están iniciadas en alguno de los lenguajes de programación de Visual Studio.
  • Tienen conocimientos básicos del entorno de Microsoft Windows y .NET Framework.
  • Residen en España o en América Latina.
  • Podeis descargaros el pdf, con las bases del concurso haciendo clic en el 'attachment'

    Saludos,
    Pep Lluis,

    SQL Server 2005 en Longhorn Server o Vista.

    Imprescindible revisar las notas del equipo de documentacion de SQL, respecto a la instalacion de SQL Server 2005 en las nuevas versiones de SO…. si estais con Longhorn Server, debeis poner especial antencion en instalar el HTTP redireccion antes de iniciar la instalacion del SQL, para evitar el mensage "Incorrect IIS Configuration"

    Tambien es util si estais intentando instalar el Visual Studio 2005, pues al finalizar su instalacion en el log de errores tendreis un "setup failed on component SQL Server 2005 express edition".

    http://www.microsoft.com/sql/howtobuy/windowsvistasupport.mspx

    Saludos,
    Pep,

     

    Acceso a una base de datos en access en .NET (VStudio 2005)

    Atendiendo algunas solicitudes, en tanto a como acceder a una base de datos access en Visual Basic, os dejo una clase que utilize en mi famoso libro "Robot Dispensador para MSDN" [:)].

    Esta hecha con la version Beta 2 y es una manera peculiar para usar el 'System.Data.OleDb'.

    Espero vuestros comentarios.

    Pep,

    ¿como conectar el msflexgrid con una base de datos de access?

    Solo necesitas arrastrar y soltar un MsFlexGrid y un objeto Data de la barra de herramientas al form. El siguiente paso es asignar el Valor data source del MsFlexGrid con el nombre del objeto de datos… por defecto 'data1'. Finalmente solo tenemos que asignar el nombre de la base de datos del 'data1' en la propiedad databasename….

    Luego en el evento de load o activate….

    1. Data1.DataBaseName="C:\MibaseAccess.mdb"
    2. Data1.RecordSource="Select * from MiTabla where …."
    3. Data1.Refresh

    Por si acaso tambien os dejo un ejemplo para VB2005 con DAO (sin el control 'data' de VB6), simplemente es para ver como se actualizaria el acceso a una MDB de VB6 a VB.NET.

    1. Dim dbs as DAO.Database
    2. Dim rst as DAO.Recordset
    3. Dim fld as DAO.Field
    4. dbs = DAODBEngine_definst.OpenDatabase("C:\MiBasedeDatos.mdb")
    5. rst = dbs.OpenRecordset("MiTabla", DAO.RecordsetTypeEnum.dbOpenDynaset)
    6. fld = rst.Fields("MiColumna")
    7. MsgBox(fld.Value)
    8. dbs.Close