Visual Basic - ayuda con flexgrip

Life is soft - evento anual de software empresarial
 
Vista:

ayuda con flexgrip

Publicado por pablo (74 intervenciones) el 19/08/2007 15:55:33
hola como puedo hacer para cargar los datos que tengo imgresado en un flexgrip a una tabla de mi base de datos(acces) usando ado
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:ayuda con flexgrip

Publicado por Victor Sanchez (16 intervenciones) el 20/08/2007 18:48:19
Usa este procedimiento en un Modulo, los parametros son tu conexion, Query, tu FlexGrid, y Formulario q tiene el FlexGrid

Public Sub CargarFlex(Conexion_ADO As Connection, _
Consulta_SQL As String, _
MsFlexGrid As Object, Forma As Form)


'Variables para el Recordset, _
El campo de la base de datos _
El dato actual y un array para los anchos de columna
Dim rst As Recordset
Dim campo As Field
Dim Dato As String
Dim n As Long
Dim widthCol() As Long

' Nuevo recordset
Set rst = New Recordset

'Deshabilita el redibujado del control _
para que la carga sea mas veloz
MsFlexGrid.Redraw = False

'Abre el recordset
rst.Open Consulta_SQL, Conexion_ADO

'Redimensiona el array a la cantidad de columnas
ReDim widthCol(1 To rst.Fields.Count)

Dato = vbNullString
n = 1

'Recorre los campos de la tabla
For Each campo In rst.Fields
'almacena el ancho de los campos
Dato = Dato & campo.Name & vbTab
widthCol(n) = Forma.TextWidth(campo.Name & " ")
n = n + 1

Next

MsFlexGrid.FormatString = Left(Dato, Len(Dato) - 1)

With MsFlexGrid
.FixedCols = 0
End With

'REcorre todos los registros del recordset
While Not rst.EOF

n = 1

Dato = vbNullString

For Each campo In rst.Fields
Dato = Dato & campo.Value & vbTab

'si el dato NO es un valor nulo ... comprueba
If Not IsNull(campo.Value) Then
' si el ancho del dato actual es mayor _
al de su columna, entonces asigna el nuevo ancho
If Forma.TextWidth(campo.Value) > widthCol(n) Then
widthCol(n) = Forma.TextWidth(campo.Value)
End If
End If

n = n + 1

Next
'Agrega la fila al Msflexgrid
MsFlexGrid.AddItem Dato
'Mueve el recordset al siguiente registro
rst.MoveNext

Wend

'cierra el recordset y elimina la variable
On Error Resume Next
rst.Close
Set rst = Nothing
On Error GoTo 0

'Elimina la primer fila vacía
MsFlexGrid.RemoveItem 1

'ajusta los encabezados de columna
For n = 1 To MsFlexGrid.Cols
MsFlexGrid.ColWidth(n - 1) = widthCol(n)
Next

'Habilita nuevamente el Repintado del control
MsFlexGrid.Redraw = True

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:ayuda con flexgrip

Publicado por Pablo (74 intervenciones) el 20/08/2007 22:04:12
pero es que yo loquiero hacer con un flexgrip o es que no lo entiendes?

no se de lo que me estas ablando.
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:ayuda con flexgrip

Publicado por Victor Sanchez (16 intervenciones) el 22/08/2007 16:45:56
Pablo, aclarame una cosa te refieres a un MsFlexGrid????

y si no es asi dime por favor que es un FlexGrip.

Si necesitas rutinas yo tengo para mandar de una tabla a un flexgrid de un flexgrid a una tabla etc.

Pero pues aclara bien lo q quieres.

Saludos.
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:ayuda con flexgrip

Publicado por pablo (74 intervenciones) el 23/08/2007 02:26:42
hola. es un msflexgrip y lo que quiero es enviar la informacion que tengo almacenada en el a una tabla de acces en mi base de datos.
gracias por las molestias
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:ayuda con flexgrip

Publicado por Victor Sanchez (16 intervenciones) el 25/08/2007 01:40:47
No se si conoces o uses RecordSets, con estos puedes mandar una instruccion Sql, un insert, haces un ciclo q recorra tu FlexGrip( Que por cierto no conozco ese control, y yo digo q es el MsFlexGrid) y vaya insertando los datos a la Tabla, esta es la sintaxix:

INSERT INTO TU_TABLA VALUES(TU_CAMPO1,TU_CAMPO2,...TU_CAMPON)

si es q fuera un MsFlexGrid lo puedes recorrer con TuFlexGrid.TextMatrix(renglon,columna) y ya con eso sacas los datos por fila y los vas insertando a tu tabla con Insert.

Oye por cierto te pido me aclares lo del FlexGrip, pq como te menciono yo no conozco ese control, el MsFlexGrid es un control con grillas muy parecido a una Hoja de Excel, el MsHFlexGrid es muy parecido pero a este si lo puedes conectar facilmenta a un DataSource como un RecordSet.

Disculpa mi ignorancia por no conocer un FlexGrip.
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:ayuda con flexgrip

Publicado por pablo (74 intervenciones) el 25/08/2007 14:06:05
hola. gracias por ayudarme. el control del que te hablo es el mshflexgrip(microsoft hierachical flexgrip control). pero voy a usar el flexgrip comun ya que es mas facil . gracias por todo y cualquier cosa que no pueda te voy a informar.
hasta pronto
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:ayuda con flexgrip

Publicado por pablo (74 intervenciones) el 26/08/2007 17:13:02
hola de nuevo. perdona mi ignnorancia. lo que pasa es que recien comienzo en este nuevo mundode la programacion y es que no entiendo como puedo usar el recordset para cargar los datos con la instruccion sql (insert into).
te voy a agradecer si me das una mano. muchas gracias
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:ayuda con flexgrip

Publicado por pablo (74 intervenciones) el 27/08/2007 16:45:05
disculpa.... es msflexgrid . es que lo escribia mal y no me daba cuenta
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:ayuda con flexgrip

Publicado por Victor Sanchez (16 intervenciones) el 27/08/2007 17:17:59
Supongamos que Tienes un MsHFlexgrid o un MsFlexgrid q tiene los usuarios de tu base de datos (por cierto se q no es un ejemplo practico pero no tengo tanto tiempo para hechar a volar la imaginacion), bueno la idea es el flex ya tiene esos datos, una columna de tu flex tiene el nombre del usuario y el otro el password, entonces quieres cargar esos datos a una tabla de dos campos, un campo tipo varchar o string o char segun tu DBMS(no recuerdo en access), y otro del mismo tipo pero para tus passwords, bueno y como le corres pues de la siguiente manera.

dim RSet As ADODB.Recordset

i=1
While i<=TuFlex.rows-1

Set RSet = New ADODB.Recordset
'
RSet.Open "Insert Into TablaUsers Values('"+TuFlex.TextMatrix(i,0)+"','"+TuFlex.TextMatrix(i,1)+"')" , ConnAdo, adOpenDynamic, adLockOptimistic

i=i+1
wend

Mira .rows te da el numero de renglones de tu flex le resto 1 pq si tu flex tiene 5 renglones el ultimo sera el numero 4, esto pq empieza desde cero.

ConnAdo es la conexion ADO, necesitas hacer la conexion con ADO.

.TextMatrix(renglon,columna) te da el texto de la celda.

adOpenDinamic es tu tipo de cursor(Investiga)

adLockOptimistic es el bloqueo q va usar tu RecordSet(Investiga)

Eso seria todo, no doy muchos detalles pq terminaria escribiendo un tutorial jajaja y estoy trabajando, tal vez tenga errores logicos y de sintaxis, pero al menos ya tienes una idea ( Espero )

http://www.recursosvisualbasic.com.ar/ te lo recomiendo
http://www.elguille.info/ Tambien lo recomiendo este cuate es muy bueno

Saludos y Suerte.
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:gracias victor

Publicado por pablo (74 intervenciones) el 28/08/2007 01:00:59
Hola querida darte las gracias por la ayuda que me has brindado. espero si te puedo ayudar en algo no lo dudes. pero creo que sabes mucho para necesitar mi ayuda.
muchas gracias y suerte
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

y.. dale con el flexgrip

Publicado por Otongo (17 intervenciones) el 26/08/2007 22:42:59
que ya te dijeron que ese control no existe en VB
en todo caso eso seria una gripe en el colchon
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

y.. dale con el flexgrip

Publicado por Litium (1 intervención) el 11/05/2011 17:01:16
Pablo, si sos nuevo en esto de la programacion y estas pidiendo ayuda NO deberias ser tan descortes y contradecir lo que te estan diciendo!!!!
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