Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/02/2010, 09:48
andrew888
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ¿Ayuda de como llevar datos de 2 tablas a una matriz?

Me parece muy buena tu sugerencia. Sin embargo ya realize la creacion de registros mediante la siguiente funcion para una tabla y otra parecida para la otra tabla:
Código vb:
Ver original
  1. 'Nombre: CrearNroRegistros
  2. 'Fecha Creacion: 08/02/2010
  3. 'Parametros:
  4. 'FechaMuestreo: Fecha en la que se realiza el muestreo
  5. 'IdAmbiente: Codigo del ambiente
  6. 'Objetivo: Crear un de registros mensual para un determinado mes y ambiente en la base de datos
  7.  
  8. Sub CrearNroRegistros(FechaMuestreo As Date, IdAmbiente As Integer)
  9.   Dim NumeroDias, i, mes, Año, ano As Integer
  10.   Dim ConcatenarFecha, j, Año1, Mes1 As String
  11.   Set rst = New ADODB.Recordset
  12.   'Fin variables para almacenar los datos en ADODB.Recordset
  13.  
  14.   'Dim ano, mes As Integer
  15.  Dim cn As New ADODB.Connection 'Creamos el objeto Connection para enlazar a la base
  16.  Dim rs As New ADODB.Recordset 'Creamos el objeto Recordset para enlazar a la tabla
  17.  'Obteniendo el año y el mes de la fecha de muestreo
  18.   mes = Month(FechaMuestreo)
  19.    ano = Year(FechaMuestreo)
  20. 'Abrimos la base de datos "bd_plantas.mdb".
  21. cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=e:\registro_plantas\bd_plantas.mdb"
  22. rs.Source = "ta_ana_fis_qui" 'Especificamos la fuente de datos. En este caso la tabla "ta_ana_fis_qui".
  23. rs.CursorType = adOpenKeyset 'Definimos el tipo de cursor.
  24. rs.LockType = adLockOptimistic 'Definimos el tipo de bloqueo.
  25. 'rs.Open "select * from ta_ana_fis_qui where ano=2010", cn 'Abrimos el Recordset y lo llenamos con una consulta SQL.
  26. 'rs.MoveFirst 'Nos posicionamos en el primer registro del Recordset.
  27. 'Do Until rs.EOF 'Repite hasta que se lea todo el Recordset.
  28. 'List1.AddItem rs.Fields("FECHA_REGISTRO") & " " & rs.Fields("ano") & " " & rs.Fields("periodo") & " " _
  29. '& rs.Fields("hora_registro") & " " & rs.Fields("id_analisis")
  30. 'rs.MoveNext 'Nos movemos al siguiente registro.
  31. 'Loop
  32. 'Generamos la cantidad de registros en la base de datos
  33.    NumeroDias = ObtenerNumeroDiasMes(FechaMuestreo)
  34.     mes = Month(FechaMuestreo)
  35.     Año = Year(FechaMuestreo)
  36.     'NumeroDias = Text1.Text
  37. 'Abrimos el recordset y lo llenamos con una consulta sql
  38.   rs.Open "select * from ta_ana_fis_qui", cn
  39.     For i = 1 To NumeroDias
  40.       'Convertimos el año y fecha en cadenas
  41.      'Para poder generar las fechas
  42.      Año1 = Str(Año)
  43.       Mes1 = Str(mes)
  44.       j = Str(i)
  45.       'Concatenamos los valores para poder generar la fecha
  46.      ConcatenarFecha = j & "/" & Mes1 & "/" & Año1
  47.       'Convertimos la cadena en formato tipo fecha
  48.      FechaMuestreo = CDate(ConcatenarFecha)
  49.       'Adicionamos al array
  50.      'rst.AddNew Array("Fecha", "Temperatura"), _
  51.       'Array(FechaMuestreo, 0)
  52.      'rst.AddNew Array("Temperatura"), Array(1)
  53.      'Adicionamos el nuevo registro a la base de datos
  54.      
  55.       'Primero adicionamos a la tabla de analisis fisico quimico
  56.      'los valores generados
  57.      rs.AddNew
  58.       'Con Now adicionamos con la fecha actual
  59.      rs("FECHA_REGISTRO") = Now
  60.       'Adicionamos Año y Mes(Valores numericos) debido a que estos valores se repetiran
  61.      'durante la generacion de datos
  62.      rs("ano") = Año
  63.       rs("periodo") = mes
  64.       'Concatenamos horas minutos y segundos de la hora actual y
  65.      'lo almacenamos a la hora de registro
  66.      'Almacenamos la hora en una variable de tipo cadena
  67.      rs("hora_registro") = ConvertirHoraCadena(Hour(Now), Minute(Now), Second(Now))
  68.       rs("id_analisis") = 0
  69.       rs("id_Ambiente") = IdAmbiente
  70.       rs("id_Responsable") = 0
  71.       rs("A_COLOR") = Null
  72.       rs("A_TURBIEDAD") = Null
  73.       rs("A_OLOR") = Null
  74.       rs("A_SABOR") = Null
  75.       rs("F_FECHA_MUESTREO") = FechaMuestreo
  76.       rs("F_HORA_MUESTREO") = Null
  77.       rs("F_CLORO_LIBRE") = Null
  78.       rs("B_PH") = Null
  79.       rs("B_TEMPERATURA") = Null
  80.       rs("B_CONDUCTIVIDAD") = Null
  81.       rs("B_RESIDUOS_SECOS_180") = Null
  82.       rs("B_SUSPENDIDOS") = Null
  83.       rs("B_SOLIDOS_TOTALES") = Null
  84.       rs("B_SULFATOS") = Null
  85.       rs("B_AMONIO") = Null
  86.       rs("B_NITROGENO") = Null
  87.       rs("B_OXIDABILIDAD") = Null
  88.       rs("B_DETERGENTES") = Null
  89.       rs("B_FOSFORO") = Null
  90.       rs("C_NITRATOS") = Null
  91.       rs("C_NITRITOS") = Null
  92.       rs("C_FLUORUROS") = Null
  93.       rs("F_CT_H2SO4") = Null
  94.       rs("F_CR_H2SO4") = Null
  95.       rs("F_ALC_F_VOL_ACIDO") = Null
  96.       rs("F_T_VOL_MUESTRA") = Null
  97.       rs("F_CT_EDTA") = Null
  98.       rs("F_CR_EDTA") = Null
  99.       rs("F_CA_VOL_EDTA") = Null
  100.       rs("F_CA_VOL_MUESTRA") = Null
  101.       rs("F_D_VOL_EDTA") = Null
  102.       rs("F_D_VOL_MUESTRA") = Null
  103.       rs("F_NO3_AG_VOL") = Null
  104.       rs("F_CL_VOL_MUESTRA") = Null
  105.       rs("F_CL_VOL_BLANCO") = Null
  106.       rs("F_NO3AG_CT") = Null
  107.       rs("F_NO3AG_CR") = Null
  108.       rs("F_SILICE") = Null
  109.       rs("B_CARBONATOS") = Null
  110.       rs("B_BICARBONATOS") = Null
  111.       rs("F_HIDROXIDOS") = Null
  112.       rs("B_ALCALINIDAD") = Null
  113.       rs("F_FENOLFTALEINA") = Null
  114.       rs("B_CALCIO") = Null
  115.       rs("B_DUREZA") = Null
  116.       rs("B_MAGNESIO") = Null
  117.       rs("B_CLORUROS") = Null
  118.       rs("F_PHS") = Null
  119.       rs("F_PHI") = Null
  120.       rs("ACEITES_G") = Null
  121.       rs("DBO5") = Null
  122.       rs("DQO") = Null
  123.       rs("AMONIO_N") = Null
  124.       rs("SULFUROS") = Null
  125.       rs("CIANURO_LIBRE") = Null
  126.       rs("OBSERVACIONES") = "Registro masivo plantas"
  127.       'Instrucion Para actualizar cada fila del registro
  128.     Next
  129.      'Actualizamos los registros
  130.     rs.Update
  131.     End Sub

Esto me crea la cantidad de registros en la base. El problema esta en volver a recuperar estos datos de las 2 tablas y actualizarlos y validarlos para un registro definitivo en la base de datos. Ya que debo validar campos y rangos numericos para poder generar algunos campos, me explico algunos campos deben generar mediante formulas matematicas otros campos. De antemano muchas gracias.
Saludos Cordiales