Visualizar una hoja de Excel en un DataGridView

Aqui teneis un ejemplo para visualizar una hoja de Excel en un DataGridView.
Como Siempre podeis descargaros el Codigo haciendo click en 'attachments'

System.Data.OleDb

Public Class Form1
 
Private MiConexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties = 'Excel 8.0'; Data Source=|DataDirectory|\hoja1.xls;")
 
Private MiAdaptador As New OleDbDataAdapter("SELECT * FROM [Hoja1$]", MiConexion)
 
Private MiDataSet As New DataSet()
 
Private MiEnlazador As New BindingSource
 
 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   
Dim commandbuilder As New OleDb.OleDbCommandBuilder(Me.MiAdaptador)
   
MiConexion.Open()
    MiAdaptador.Fill(MiDataSet)
    MiEnlazador.DataSource = MiDataSet.Tables(0)
   
Me.DataGridView1.DataSource = MiEnlazador
 
End Sub

End Class
 
Pep Lluis,

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,

 

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,

Lectura del Puerto serie y problemas con los thread’s (Forms)

Esta es una de las primeras sorpresas del nuevo framework y por supuesto el primer tropezon al trabajar con Visual Studio 2005. Por el momento no voy a detallar el cambio de concepto en tanto al manejo y ejecucion de hilos desde nuestra aplicacion. Pero si que creo sumamente importante explicar como realizar un invoke a una funcion que refresque por ejemplo un ‘label’ con la información recibida por el disparo de un evento de otro threat.


Imaginando que recibimos el disparo del evento del puerto serie cuando recibimos datos que queremos visualizar en una etiqueta ..

‘En tiempo de definiciones
Delegate Sub Refrescar


‘En tiempo de Carga
Addhandler SerialPort.Respuesta, AddressOf RecibeDatos

‘Funcion de recibir los datos
Private Sub RecibeDatos
   
DatosRecibidos = SerialPort.ReadExisting
   Me.Label1.Invoke(New Refrescar(AddressOf ActualizarDatos))
End Sub

‘Funcion de recibir los datos
Private Sub ActualizarDatos
   Label1.Text = DatosRecibidos
End Sub

Como, Enviar mails en .NET Framework 1.1

ENVIO de CORREOS, con .NET Framework 1.1 (Visual Basic 2003)


‘Alternativa si no tenemos configurado SMTP o problemas con el CDO’


crearemos el objeto correo, como mensaje de mail, asignaremos los valores del mismo y sencillamente llamaremos a la función ‘send’. Deberemos substituir todas las variables ’email_’ con el valor o string adecuado. A saber ’email_User’ debe contener el usuario de la cuenta que envia el correo electronico, ’email_Pwd’ su password… etc.


  ‘
  ‘Conformar un mensage de mail
  Dim correo As MailMessage = New MailMessage
  ‘Definir el esquema CDO
  Dim Esquema As String = “
http://schemas.microsoft.com/cdo/configuration/
  ‘Llenar de contenido el mensage
  correo.From = email_From
  correo.To = email_To
  correo.Cc = email_Cc
  correo.Subject = “Motivo del mensaje”
  correo.Body = emailMensa
  ‘Asignar las credendiales
  correo.Fields.Add(Esquema + “smtpauthenticate”, “1”)
  correo.Fields.Add(Esquema + “sendusername”, email_User)
  correo.Fields.Add(Esquema + “sendpassword”, email_Pwd)
  ‘Asignar el nombre del servidor de correo
  SmtpMail.SmtpServer = email_smtp
  Try
       SmtpMail.Send(correo)            ‘Enviar el correo
  Catch ex As Exception
       ‘reportar problemas al eventlog
        Mensaje.Registra(“Alertas”, ex.Message, EventLogEntryType.Error, 4)
  End Try

Como, Usar Ftp: en .NET

En cuanto a como transferir o recibir ficheros, en .NET usando Ftp:


Si estas usando Visual Studio 2003, lo tienes en la libreria System.Net, con el metodo ‘WebRequest’ creas un ‘streamreader’ y con el ‘WebResponse’ un ‘streamwriter’ que utilizas posteriormente para escribir el archivo en local.

WebRequest.RegisterPrefix(“ftp”, new FtpWebRequestCreator());
WebRequest req = WebRequest.Create(
ftp://ftp.lapagina.com/);

En Visual Studio 2005 puede sonar mucho mas sencillo…


Descargar un archivo :
My.Computer.Network.DownLoadFile(
ftp://www.ser.com/demo.txt,”c:\Temp”)
Subir un Archivo al Servidor
My.Computer.Network.UploadFile(“C:\Hola.txt”,”ftp://anonymous@servidor/hola.txt”,”anonymous”,””)


Aunque no sea un ejemplo muy desarrollado, vale para tomar una idea. No dudeis en contactar conmigo si necesitais una ayudita!


Pep,