GRABAR DATOS DE UNA LISTBOX A UNA BASE DE DATOS

DELFINISE
19 de Octubre del 2005
necesito, grabar los datos de la lista lstguardar a la tabla tipo_pde_detalle, aki esta el codigo:

Dim Ultimo As String

\'Dim vTIPO_PDE_CODIGO As Integer
\'Dim TipoEquipo As String

Dim rsTipo_Equipo As New Recordset
Dim rsCod_Tipo_Equipo As New Recordset
Dim codTipoEquipo As Integer

Dim rsOpcion As New Recordset
Dim codOpcion As Integer

Dim cadSQL1 As String
Private Sub Form_Load()
cargaTipoEquipo
cargaOpcion

End Sub
Private Sub cmdAceptar_Click()

If tipoOP = 1 Then
cadSQL = "SELECT max(TIPO_PDE_CODIGO) FROM TIPO_PDE"
rs.Open cadSQL
Ultimo = rs.Fields(0)
Ultimo = Ultimo + 1

rs.Close

cadSQL = "insert into TIPO_PDE(TIPO_PDE_CODIGO, TIPO_EQPO_CODIGO,TIPO_PDE_ESTADO) values(\'" & Ultimo & "\',\'" & codTipoEquipo & "\',\'" & chkEstado.Value & "\')"


cadSQL1 = "SELECT TIPO_PDE_CODIGO FROM TIPO_PDE_DETALLE"
rs.Open cadSQL1





\' AQUI ESTABA ITNENTANDO GRABAR LOS DATOS..
For X = 0 To lstGuardar.ListCount - 1
codOpcion = lstGuardar.ItemData(lstGuardar.ListIndex)
cadSQL1 = "insert into TIPO_PDE_DETALLE(TIPO_PDE_CODIGO, TIPO_PDE_ITEM,TIPO_PDE_OPCION) values(\'" & Ultimo & "\',\'" & X & "\',\'" & codOpcion & "\')"

Next X

rs.Close

End If

cn.Execute cadSQL
cn.Execute cadSQL1

Unload frmUsuTipoPDEIngreso
frmUsuTipoPDE.MSFlexGrid1.Clear
frmUsuTipoPDE.llenagrilla "SELECT Tipo_Pde.Tipo_Pde_Codigo, Tipo_Pde.Tipo_Eqpo_Codigo, Tipo_Pde.Tipo_Pde_Estado, Tipo_Equipo.Tipo_Eqpo_Codigo, Tipo_Equipo.Tipo_Eqpo_Nombre FROM Tipo_Pde INNER JOIN Tipo_Equipo ON Tipo_Pde.Tipo_Eqpo_Codigo = Tipo_Equipo.Tipo_Eqpo_Codigo ORDER BY Tipo_Equipo.Tipo_Eqpo_Nombre"
End Sub







Private Sub CmdDerecha_Click()
\' selecciona los elememtos a la otra lista
Dim i As Integer

If lstOpcion.ListCount = 0 Then Exit Sub

lstGuardar.AddItem lstOpcion.Text
i = lstOpcion.ListIndex
lstOpcion.RemoveItem lstOpcion.ListIndex
If lstOpcion.ListCount > 0 Then
If i > lstOpcion.ListCount - 1 Then
lstOpcion.ListIndex = i - 1
Else
lstOpcion.ListIndex = i
End If
End If
lstGuardar.ListIndex = lstGuardar.NewIndex
End Sub

Private Sub cmdIzquierda_Click()
\'regresa los datos a la lista anterior
Dim i As Integer

If lstGuardar.ListCount = 0 Then Exit Sub

lstOpcion.AddItem lstGuardar.Text
i = lstGuardar.ListIndex
lstGuardar.RemoveItem i

lstOpcion.ListIndex = lstOpcion.NewIndex
If lstGuardar.ListCount > 0 Then
If i > lstGuardar.ListCount - 1 Then
lstGuardar.ListIndex = i - 1
Else
lstGuardar.ListIndex = i
End If
End If
End Sub


Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then SendKeys "{tab}"
End Sub

Private Sub cboTipoEquipo_Click()
If cboTipoEquipo.ListIndex > 32000 Or cboTipoEquipo.ListIndex < 0 Then Exit Sub
codTipoEquipo = cboTipoEquipo.ItemData(cboTipoEquipo.ListIndex)
cadSQL = "SELECT Tipo_Eqpo_Nombre FROM Tipo_Equipo WHERE [Tipo_Eqpo_Codigo] = \'" & codTipoEquipo & "\'"
rsCod_Tipo_Equipo.Open cadSQL, cn, adOpenStatic, adLockOptimistic
cboTipoEquipo.Text = rsCod_Tipo_Equipo![TIPO_EQPO_NOMBRE]
rsCod_Tipo_Equipo.Close
End Sub
Private Sub cmdCancelar_Click()
\'Verifica si el RecordSet está abierto para poder cerrarlo; porque puede darse el caso de abrir el formulario y cerrarlo sin haber elegido ningún elemento del combo
If rsCod_Tipo_Equipo.State = adStateOpen Then rsCod_Tipo_Equipo.Close
Unload Me
End Sub
Sub cargaTipoEquipo()
cboTipoEquipo.Clear
cadSQL = "SELECT * FROM Tipo_Equipo ORDER BY [TIPO_EQPO_NOMBRE] ASC"
rsTipo_Equipo.Open cadSQL, cn, adOpenStatic, adLockOptimistic
rsTipo_Equipo.MoveFirst
While Not rsTipo_Equipo.EOF
cboTipoEquipo.AddItem rsTipo_Equipo![TIPO_EQPO_NOMBRE]
cboTipoEquipo.ItemData(cboTipoEquipo.NewIndex) = rsTipo_Equipo![TIPO_EQPO_CODIGO]
rsTipo_Equipo.MoveNext
Wend
rsTipo_Equipo.Close
End Sub
Sub cargaOpcion()
lstOpcion.Clear
cadSQL = "SELECT * FROM Tipo_Pde_Opcion"
rsOpcion.Open cadSQL, cn, adOpenStatic, adLockOptimistic
rsOpcion.MoveFirst
While Not rsOpcion.EOF
lstOpcion.AddItem rsOpcion![NOM_OPCION]
lstOpcion.ItemData(lstOpcion.NewIndex) = rsOpcion![TIPO_PDE_OPCION]
rsOpcion.MoveNext
Wend
rsOpcion.Close
End Sub