Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/04/2010, 01:53
Avatar de Sergio18
Sergio18
 
Fecha de Ingreso: abril-2010
Ubicación: No quieras saberlo
Mensajes: 94
Antigüedad: 14 años
Puntos: 0
Respuesta: insertar y añadir

Llevo este codigo:

Código vb:
Ver original
  1. Option Explicit
  2. Public rsCiudad2 As Recordset
  3. Public cnPrueba As Connection
  4.  
  5. Private Sub Command1_Click()
  6. If Text1 = "" Or Combo1 = "" Then
  7. MsgBox "Debe ingresar datos en los campos", vbCritical, Me.Caption
  8. Exit Sub
  9. End If
  10. 'crear un objeto conexion
  11. Set cnPrueba = New Connection
  12. 'Establecer sus propiedades
  13.     With cnPrueba
  14.         .Provider = "Microsoft.Jet.oledb.4.0"
  15.         .ConnectionString = "prueba.mdb"
  16.     End With
  17. cnPrueba.Open
  18.  
  19. Set rsCiudad2 = New Recordset
  20. 'Establecer sus propiedades
  21. With rsCiudad2
  22.     .CursorLocation = adUseClient
  23.     .Open "SELECT * FROM Ciudad2", cnPrueba, adOpenDynamic, adLockOptimistic
  24. End With
  25. 'Añadimos los registros del formulario a la base de datos
  26. With rsCiudad2
  27. .AddNew
  28. .Fields("idprovincia") = Text2.Text
  29. .Fields("Ciudad") = Text1.Text
  30. .Fields("Provincia") = Combo1.Text
  31. .Update
  32. End With
  33. MsgBox ("Datos Añadidos")
  34. 'Refrescamos el formulario para que se borren los datos introducidos
  35. With rsCiudad2
  36. MSFlexGrid1.Refresh
  37. Text1.Text = ""
  38. Text2.Text = ""
  39. Combo1.Text = ""
  40. .Update
  41. End With
  42. 'Añadimos el formulario al msflexgrid
  43. While Not rsCiudad2.EOF
  44. MSFlexGrid1.AddItem rsCiudad2("idprovincia") & vbTab & rsCiudad2("ciudad") & vbTab & rsCiudad2("Provincia")
  45. rsCiudad2.MoveNext
  46. Wend
  47.     'Insertamos la cabezera
  48.    MSFlexGrid1.TextMatrix(0, 0) = "idprovincia"
  49.     MSFlexGrid1.TextMatrix(0, 1) = "ciudad"
  50.     MSFlexGrid1.TextMatrix(0, 2) = "Provincia"
  51.     Screen.MousePointer = vbDefault
  52. End Sub
  53.  
  54. Private Sub Command2_Click()
  55. 'Pregunta
  56. If MsgBox("¿Está seguro de que desea eliminar el registro?", vbQuestion + vbYesNo, Me.Caption) = vbNo Then Exit Sub
  57. 'Se elimina de la base de datos.
  58. Set cnPrueba = New ADODB.Connection
  59. cnPrueba.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\prueba.mdb;Persist Security Info=False"
  60. cnPrueba.Open
  61. cnPrueba.Execute "delete from Ciudad2 "
  62. cnPrueba.Close
  63. Set cnPrueba = Nothing
  64. 'Se elimina el registro del msflexgrid
  65. MSFlexGrid1.RemoveItem (MSFlexGrid1.Row)
  66. End Sub
  67.  
  68. Private Sub Command3_Click()
  69. Unload Me
  70. End
  71. End Sub
  72.  
  73. Private Sub Command4_Click()
  74. Set cnPrueba = New Connection
  75. 'Establecer sus propiedades
  76.     With cnPrueba
  77.         .Provider = "Microsoft.Jet.oledb.4.0"
  78.         .ConnectionString = "prueba.mdb"
  79.      End With
  80.     cnPrueba.Open
  81. Set rsCiudad2 = New Recordset
  82. 'Establecer sus propiedades
  83. With rsCiudad2
  84.     .CursorLocation = adUseClient
  85.     cnPrueba.Execute "UPDATE provincias SET Ciudad='" & Text1 & ",provincia='" & Combo1 & "'Where idprovincia  = " & Text2 & ""
  86.     .ActiveConnection = cnPrueba
  87.     .LockType = adLockOptimistic
  88. End With
  89. With rsCiudad2
  90.     MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) = frmciudades.Text1.Text
  91.     End With
  92. End Sub
  93.  
  94. Private Sub Command5_Click()
  95. Set cnPrueba = New Connection
  96. 'Establecer sus propiedades
  97.     With cnPrueba
  98.         .Provider = "Microsoft.Jet.oledb.4.0"
  99.         .ConnectionString = "prueba.mdb"
  100.     End With
  101. cnPrueba.Open
  102. Set rsCiudad2 = New Recordset
  103. 'Establecer sus propiedades
  104. With rsCiudad2
  105.     .CursorLocation = adUseClient
  106.     .Open "SELECT * FROM Ciudad2", cnPrueba, adOpenDynamic, adLockOptimistic
  107. End With
  108. 'Limpiamos el formulario
  109. With rsCiudad2
  110. MSFlexGrid1.Refresh
  111. Text1.Text = ""
  112. Combo1.Text = ""
  113. Text2.Text = ""
  114. .Update
  115. End With
  116. End Sub
  117. Private Sub Form_Load()
  118. Set cnPrueba = New Connection
  119. 'Establecer sus propiedades
  120.     With cnPrueba
  121.         .Provider = "Microsoft.Jet.oledb.4.0"
  122.         .ConnectionString = "prueba.mdb"
  123.     End With
  124. cnPrueba.Open
  125. 'Visualizar el formulario
  126.    frmciudades.Show
  127.     frmciudades.Refresh
  128.     MSFlexGrid1.Refresh
  129. 'crear un objeto conexion
  130.    Set cnPrueba = New Connection
  131. 'Establecer sus propiedades
  132.     With cnPrueba
  133.         .Provider = "Microsoft.Jet.oledb.4.0"
  134.         .ConnectionString = "prueba.mdb"
  135.     End With
  136. cnPrueba.Open
  137.  
  138.     Set rsCiudad2 = New Recordset
  139. 'Establecer sus propiedades
  140.    With rsCiudad2
  141.         .Source = "select idprovincia,ciudad,provincia from Ciudad2"
  142.         .ActiveConnection = cnPrueba
  143.         .LockType = adLockOptimistic
  144.     End With
  145. rsCiudad2.Open Options:=adCmdText
  146. 'Añadimos la cabezera
  147.    MSFlexGrid1.Cols = 3
  148.     MSFlexGrid1.FixedCols = 0
  149.     While Not rsCiudad2.EOF
  150.     MSFlexGrid1.AddItem rsCiudad2("idprovincia") & vbTab & rsCiudad2("Ciudad") & vbTab & rsCiudad2("provincia")
  151.     rsCiudad2.MoveNext
  152.     Wend
  153.     'Insertamos la cabezera
  154.    MSFlexGrid1.TextMatrix(0, 0) = "idprovincia"
  155.     MSFlexGrid1.TextMatrix(0, 1) = "Ciudad"
  156.     MSFlexGrid1.TextMatrix(0, 2) = "Provincia"
  157.     Screen.MousePointer = vbDefault
  158.    
  159. MSFlexGrid1.ColWidth(1) = 2000
  160. MSFlexGrid1.ColWidth(2) = 2000
  161. End Sub
  162.  
  163. Private Sub MSFlexGrid1_Click()
  164. frmciudades.Text2.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0)
  165. frmciudades.Text1.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1)
  166. frmciudades.Combo1.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2)
  167. End Sub

Lo que me falta es que cuando yo ponga la ciudad y la provincia en el msflexgrid tambien se ponga el Id que concuerde con la provincia que yo ponga, alguien se le ocurre algo??

Saludos