| |||
| Hola tengo un problema yo tengo una base de datos excel con facturas y me gustaria que en el formulario se puedan meter los registros que se quieran como cuando introduces registros en una tabla de access me entendeis porque hasta ahora los estoy limitando a los doce texbox que tengo en mi formulario si sabe alguien algo le ruego que me saque de dudas gracias |
| |||
| ok sabes como crear un data grid usando excel. Logra que en un formulario que puedas añadir los campos que quieras como en access. has llenado alguna tabla de access fijate como lo hace access. eso quiero hacer yo en un formulario atacando a base de datos excel Última edición por flargo69; 02/06/2005 a las 08:43 |
| |||
| Cita: ni una coma, ni un punto, .... tu teclado no tiene signos de puntuación???
Iniciado por flargo69 ok sabes como crear un data grid usando excel en un formulario que puedas añadir los campos que quieras como en access has llenado alguna tabla de access fijate como lo hace access eso quiero hacer yo en un formulario atacando a base de datos excel Es que así, es imposible enterarse de lo que necesitas... Lee tu mensaje y dime si lo entiendes....
__________________ Lo importante no es saber, sino tener el teléfono del que sabe :risa: |
| |||
| perdon por no saber expresarme, quiero hacer un formulario con varios campos texbox y que cuando lo ejecute si no me llegan los campos se puedan crear automaticamente los que quiera, como cuando llenas una base de datos en modo diseño |
| ||||
| mira en excel podes crear estos formularios, excel te crea un textbox por cada columna donde estes ingresando datos. nos vemos..
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| ||||
| entonces pone un msflexgrid, e ingresas datos via los textbox, y despues si deseas los guardas en una base de datos o bien los pasas a excel nos vemos..
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| |||
| Entonces lo que quieres es crear controles en tiempo de ejecución, en tu caso textbox en la medida que los vayas necesitando. Te paso un código que crea listbox en tiempo de ejecución, puedes adecuarlo a lo que necesitas.
Código:
salu2 ;) Dim oLabel As Label
Private WithEvents oCommand As CommandButton
Private WithEvents oCommand2 As CommandButton
Private WithEvents oListBox As ListBox
Private WithEvents oTimer As Timer
Private Sub Form_Load()
Me.WindowState = vbMaximized
Set oTimer = Me.Controls.Add("VB.Timer", "oTimer", Me)
oTimer.Interval = 100
oTimer.Enabled = True
Set oLabel = Me.Controls.Add("VB.Label", "Label1", Me)
oLabel.Top = 10
oLabel.Left = 10
oLabel.Height = 255
oLabel.Caption = "Crear 10 listboxes como prueba"
oLabel.Width = Me.TextWidth(oLabel.Caption) + 100
Set oCommand = Me.Controls.Add("VB.CommandButton", "oCommand", Me)
oCommand.Top = oLabel.Top
oCommand.Left = (oLabel.Left + oLabel.Width) + 100
oCommand.Height = 255 * 1.5
oCommand.Caption = "Crear ListBoxes"
oCommand.Width = Me.TextWidth(oCommand.Caption) * 1.5
Set oCommand2 = Me.Controls.Add("VB.CommandButton", "oCommand2", Me)
oCommand2.Top = oLabel.Top
oCommand2.Left = (oCommand.Left + oCommand.Width) + 100
oCommand2.Height = 255 * 1.5
oCommand2.Caption = "Eliminar ListBoxes"
oCommand2.Width = Me.TextWidth(oCommand2.Caption) * 1.5
oLabel.Visible = True
oCommand.Visible = True
oCommand2.Visible = True
oCommand2.Enabled = False
End Sub
Private Sub oCommand_Click()
Dim cName As String
Dim nCount As Long
Dim nListBox As Long
oCommand.Enabled = False
For nListBox = 1 To 10
cName = "ListBox_" & nListBox
Set oListBox = Me.Controls.Add("VB.ListBox", cName, Me)
If nListBox <= 1 Then
oListBox.Top = oCommand.Top + oCommand.Height + 10
oListBox.Left = oLabel.Left
oListBox.Width = oLabel.Width * 1.5
Else
cName = "ListBox_" & (nListBox - 1)
oListBox.Top = Me.Controls(cName).Top + Me.Controls(cName).Height + 10
oListBox.Left = Me.Controls(cName).Left
oListBox.Width = Me.Controls(cName).Width
End If
oListBox.Height = 255 * 3
For nCount = 0 To nListBox
oListBox.AddItem "Elemento " & nCount
Next
oListBox.Visible = True
Next
oCommand2.Enabled = True
oCommand2.SetFocus
End Sub
Private Sub oCommand2_Click()
Dim nListBox As Long
For nListBox = 1 To 10
cName = "ListBox_" & nListBox
Me.Controls.Remove cName
Next
oCommand2.Enabled = False
oCommand.Enabled = True
End Sub
Private Sub oListBox_Click()
MsgBox "oListBox.Name = " & oListBox.Name
End Sub
Private Sub oTimer_Timer()
Static cLastLB As String
If Left(Me.ActiveControl.Name, 7) = "ListBox" Then
If Not cLastLB = Me.ActiveControl.Name Then
cLastLB = Me.ActiveControl.Name
Set oListBox = Me.Controls(cLastLB)
oListBox_Click
End If
End If
End Sub
__________________ Lo importante no es saber, sino tener el teléfono del que sabe :risa: |
| ||||
| ahh estas trabajando con VBA, no con VB, que es un tanto mas distinto.. el cual yo en lo personal no lo he trabajado el VBA de Excel.. siento no poder ayudarte en esa extencion del VB nos vemos..
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| |||
| Cita: tienes que añadir el control, en Herramientas - Controles Adicionales - Microsoft FlexGrid Control
Iniciado por flargo69 como se pone un msflexgrid gracias por la informacion
__________________ Lo importante no es saber, sino tener el teléfono del que sabe :risa: |
| ||||
| esque ese control es unicamente para vb no para vba nos vemos
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| |||
| Cita: mmmm, porque no puedo insertar aquí una foto de una captura de pantalla, pero os garantizo que yo tengo ese control en VBA de Excel
Iniciado por GeoAvila esque ese control es unicamente para vb no para vba nos vemos
__________________ Lo importante no es saber, sino tener el teléfono del que sabe :risa: |
| ||||
| que interesante me gusraria ver ese ejemplo puesto que nunca lo havia visto, nj tampo intentado colocarlo, pero me imagino que le podes decir al amigo forero como hacerlo. nos vemos....
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| |||
| Cita: no se porque no lo tenéis vosotros, pero aquí lo podéis ver en un pantallazo de mi máquina
Iniciado por GeoAvila que interesante me gusraria ver ese ejemplo puesto que nunca lo havia visto, nj tampo intentado colocarlo, pero me imagino que le podes decir al amigo forero como hacerlo. nos vemos.... http://www.terra.es/personal3/mingao...20en%20vba.jpg utilizo Excel 2002 SP3
__________________ Lo importante no es saber, sino tener el teléfono del que sabe :risa: |
| ||||
| revisa tus controles, no si ya lo haz echo porque segun el compañero esta entres los controles en los cuales tenes que ir y seleccionar los controles adicionales que deseas usar. nos vemos..
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |