Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado por: E N T E R en Agosto 04, 2012, 11:56:37 am
-
Hola compañeros que método usan ustedes para guardar una lista de check en una base datos y como recuperar otra ves.
ejemplo:
(http://www.mediafire.com/conv/7b407d0e287972930536e9ee34f19bd1cd0cd2985eed02c7bf1329e2bce8290a4g.jpg) (http://www.mediafire.com/view/?yrzojadr8bq9kef)
Como ven en el ejemplo esta marcados 3 de las listas.
-
Hola.
En ese caso yo tendría tres tablas: jugadores, soportemultijugador y jugadores_sm
En jugadores, los campos: id, nombre, etc.
En soportemultijugador: id, descripción, etc.
en jugadores_sm: id_jugador, id_soportemj
Luego:
'Cuando cargo el ListView pongo el id del registro de la tabla soportemultijugador en el Tag del item del ListView.
Dim strSql as String
For i = 1 to ListView1.Listitems.Count
If ListView1.Listitems(i).Checked = True then
strSql = strSql & "(" & IdDelJugador & ", " & ListView1.Listitems(i).Tag & "), "
End If
Next i
strSql = mid$(strSql, 1, len(strSql) - 2) 'Para eliminar la coma y el espacio del final
Dim Tabla as ADODB.Recordset
Set Tabla = New ADODB.Recordset
Tabla.Cursorlocation = adUseClient
Tabla.Open "INSERT INTO jugadores_sm (id_jugador, id_soportemj) VALUES (" & strSql & ")",Base, AdOpenStatic, AdLockOptimistic
set Tabla = Nothing
No lo probé, por lo que a lo mejor tiene algún error, pero es para que veas cómo lo hago.
Aclaro que esto no es un procedimiento ortodoxo, porque he aprendido por mi cuenta y soy bastante principiante. Seguramente quienes responden habitualmente en este foro, que son unos monstruos y saben muchísimo, te den la solución correcta.
Muchas gracias.
-
es como guardar cualquier otro campo, simplemente recorres la lista y si esta chequeado guardas en la base un 1 o una "S" , y para hacer lo contrario es lo mismo al reves.
saludos.