Visual Basic - eliminación de fila del DBGrid

Life is soft - evento anual de software empresarial
 
Vista:

eliminación de fila del DBGrid

Publicado por Grisel (3 intervenciones) el 28/09/2000 00:00:00
Estoy trabajando con un dbgrid y quiero que al hacer click en un botón de comando, que a tal efecto he creado, se seleccione y se elimine la fila actual , en FORMA AUTOMÁTICA, es decir, que la única intervención del operador sea pulsar dicho botón y no tener que hacer click seleccionando la fila para luego pulsar Supr (porque sería esperar demasiado). Si alguien puede ayudarme estaré muy agradecida.
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:eliminación de fila del DBGrid

Publicado por tecniCam (220 intervenciones) el 28/09/2000 00:00:00
Mira un poco más abajo y verás la respuesta que le dí ayer a Raul sobre lo mismo.
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:eliminación de fila del DBGrid

Publicado por grisel (3 intervenciones) el 28/09/2000 00:00:00
Leí la respuesta que escribiste más abajo, es cierto que fue después de publicar mi pregunta, sin embargo los métodos o propiedades (fixedcols, fixedrows) a que hacés referencia no los tengo disponibles para el control DBGrid, con el cual estoy trabajando, si para el Grid y el MSGrid (los cuales no utilizo). Además como soy nueva en este lenguaje no comprendo bien el manejo de los marcadores de posición, si tenés algún ejemplo de eliminación de filas me vendría fenómeno. De paso te pregunto cuál es la diferencia entre el control Grid y el DBGrid en modo unbound. Desde ya 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:eliminación de fila del DBGrid

Publicado por felipe (97 intervenciones) el 29/09/2000 00:00:00
Hola :

yo hice algo similar a lo que tu quieres :

Analizalo si tienes dudas las publicas y te respondo ...... :-)


If Not BDGrilla.Recordset.EOF Then
dim variables ..... (las quite para que quede mas corto el ejemplo)

NumeroGuiaTemp = DBGrilla.Recordset!NumeroGuia
CodigoRepTemp = GrillaGastos.Columns(1).Text
CantidadTemp = Val(GrillaGastos.Columns(0).Text)
ValorTemp = Val(Format(Str$(GrillaGastos.Columns(3).Text)))
Msg = "Desea Eliminar el Repuesto Codigo " & CodigoRepTemp & " De la Guia Numero " & NumeroGuiaTemp & " ?" & vbCrLf & "Advertencia : Los Repuestos Eliminados de Las Guias Deberan ser Devueltos al Stock!!!" ´ Define message.
Style = vbYesNo + vbQuestion + vbDefaultButton1
Title = Sistema & " Mantencion de Guias en Servicio"
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then
MyString = "Yes"
Abrir_DbServicio
sql_sentencia2 = "Select * From GastosGuiaRecepcion Where NumeroGuia =" & Val(NumeroGuiaTemp) & " AND CodigoRepuesto=´" & Trim(CodigoRepTemp) & "´ AND CantidadUtilizada =" & Val(CantidadTemp) & " AND ValorRepuesto =" & Val(ValorTemp) & ""
Set LeerDBServicio = DbServicio.OpenRecordset(sql_sentencia2)
LeerDBServicio.FindFirst "CodigoRepuesto=´" & CodigoRepTemp & "´"
If Not LeerDBServicio.NoMatch Then
LeerDBServicio.Delete
End If
Cerrar_DbServicio
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:eliminación de fila del DBGrid 2 parte

Publicado por Felipe (97 intervenciones) el 29/09/2000 00:00:00
End Sub


debiera haber quitado la parte del mensaje al usuario para que alcanzara en el foro...

Notas : fijate en el NoMatch y en el Delete

te explicare como funciona :

primero tomo los datos del DBGRID con column(Indice).text
luego efectuo una consulta SQL con la mayor cantidad de datos posibles (mientras mas datos mas exacta sera la consulta)
Luego pregunto si encontre algo ... si es asi solo elimino el primer registro de este
luego cierro la Base
y refresco el control data al cual esta asociado el dbgrid

declaro en un modulo las sub abrir_dbservicio (abrir base datos) y cerrar dbservicio y declaro como variables globales

Global dbservicio as database
global leerdbservicio as recordset
global sql_sentencia as string

public sub abrir_dbservicio
set dbservicio = opendatabase(App.Path & "\Servicio.mdb", False, False)
end sub

public sub cerrar_dbservicio
dbservicio.close
end sub

bueno cualquier duda me preguntas


Saludos desde Chile .....




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:eliminación de fila del DBGrid

Publicado por tecniCam (220 intervenciones) el 29/09/2000 00:00:00
La diferencia entre un DBGrid y Grid, es que el primero "tira" de los campos de un control Data y es más fácil de usar, pero hace menos cosas.
Private Sub ClearGrid()
´ Declara variables locales.
Dim Count As Integer
´ Borra el texto de la primera columna.
grdPepito.Col = 0
For Count = 1 To grdPepito.Rows - 1
grdPepito.Row = Count
grdPepito.Text = " "
Next Count
´ Borra el texto de la primera fila.
grdPepito.Row = 0
For Count = 1 To grdPepito.Cols - 1
grdPepito.Col = Count
grdPepito.Text = " "
Next Count
´ Borra el texto de las celdas que no son fijas.
grdPepito.SelStartCol = 1
grdPepito.SelStartRow = 1
grdPepito.SelEndCol = grdPepito.Cols - 1
grdPepito.SelEndRow = grdPepito.Rows - 1
grdPepito.FillStyle = 1
grdPepito.Text = ""
grdPepito.FillStyle = 0
grdPepito.SelEndCol = 1
grdPepito.SelEndRow = 1
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

msgrid

Publicado por nn (220 intervenciones) el 09/09/2002 23:14:07
gracias por perder el tiempo con mis preguntas.pero si tengo mas dudas no dudare en comunicarme contigo,ya que eres solido.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