|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - cristy
Páginas: [1]
1
« en: Lunes 23 de Diciembre de 2002, 17:40 »
No queria volver a preguntar, una tontera pero se me escapa de las manos, saben estoy exportando datos a la base de datos, atraves de un archivo de texto los envio a una grilla y luego de la grilla los envio a la base de datos atraves de un cotrol de datos adodc, pero me no deja insertar los datos por que dice que la clave primaria esta violada, pero no es asi los datos no se encuentran en la base de datos, por ende no puede ser clave repetida, este problemita me tiene muy mal, no se que probar, he probado realizando el insert atraves de SQL PLUS y los mismo datos los ingresa bien si ningun problema, he llegado apensar que es el control que me pertuba, espero que alguien que lea esto pueda ayudarme, la primera ves el error lo envia cuando pasa por el update y las veces posteriores los envia en addnew y el update gracias (les envio el malogrado codigo)
Private Sub Co_Grabar_Click() Dim salida1 Dim fs, f, ss NombreAux = CD_Impo.FileTitle nombre_archivo = NombreAux NombreArch = Mid(NombreAux, 1, Len(NombreAux) - 4) salida1 = 0 RUTA = Busca_Trayecto(BD_1) Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(nombre_archivo) ss = UCase(f.Name) & " utiliza " & f.Size & " bytes." bytearchivo = f.Size tabla = C_Tablas.Text separador = separa pDecimal = pdeci Dim filavar As Integer Dim coluvar As Integer Dim mensaje As String Dim Typedato As String ucontadoring = 0 If Len(tabla) = 0 Then MsgBox ("Ingrese un Nombre de Tabla") Else If Len(BD_1) = 0 Then MsgBox ("Ingrese el Nombre de Archivo a Exportar") Else NombreArch = Trim(NombreArch) + "_carga.err" Open NombreArch For Output As #2 filavar = 1 + filini coluvar = 1 Ado_Tabla.UserName = st_login Ado_Tabla.Password = st_passw Ado_Tabla.RecordSource = UCase(tabla) Ado_Tabla.Refresh Do While filavar - 1 < grilla.Rows - 1 ucontadoring = ucontadoring + 1 grilla.Row = filavar - 1 On Error GoTo Error_Graba1 Ado_Tabla.Recordset.AddNew Do While coluvar - 1 < grilla.Cols grilla.Col = coluvar - 1 Typedato = (Ado_Tabla.Recordset.Fields(coluvar - 1).Type) If Typedato = "131" Then If grilla.Text = "" Then paso = 0 Else paso = Trim(grilla.Text) End If Ado_Tabla.Recordset.Fields(coluvar - 1) = paso Else If grilla.Text = "" Then StDato = " " Else StDato = grilla.Text End If Ado_Tabla.Recordset.Fields(coluvar - 1) = StDato End If coluvar = coluvar + 1 Loop On Error GoTo error_graba2 Ado_Tabla.Recordset.Update coluvar = 1 filavar = filavar + 1 ucontadoring = ucontadoring + 1 Loop salida1 = "Se Ingresaron " + CStr(filfin - ucontadorsal) + " de " + CStr(filfin) + ". Rechazados " + CStr(ucontadorsal) + " Registros" MsgBox ("Carga Finalizada" + Chr(13) + salida1) End If End If Close #2
Set fs = CreateObject("Scripting.FileSystemObject") lugar = RUTA + "" + NombreArch MiTamano = FileLen(lugar) If MiTamano = 0 Then fs.DeleteFile (lugar) End If
Exit Sub Error_Graba1: des = Err.Description Resume Next error_graba2: des = Err.Description cerror = Err.Number ucontadorsal = ucontadorsal + 1 Write #2, ucontadoring; des Resume Next End Sub
2
« en: Lunes 23 de Diciembre de 2002, 17:29 »
Si tenias toda la razon el problema era por otro lado intente insertar por el SQl Plus y no me dejo por un problema en un trigger gracias
3
« en: Viernes 20 de Diciembre de 2002, 19:42 »
hola a todos, tengo una consulta que elimina, pero me envia un error e un triggers que es para otra tabla este es el triggers y la tabla a eliminar se llama l_identi
TRIGGER "SONDAJES".mod_t_lycumo AFTER INSERT OR UPDATE OR DELETE ON T_LYCUMO FOR EACH ROW /* TRIGGER diseñado para actualizar la tabla L_LYCUMO_COORD cuando se modifica la tabla T_LYCUMO DECLARE
CURSOR lista_sonda (cyac NUMBER,clab CHAR) IS SELECT * FROM t_identi WHERE yacimiento=cyac AND codlabor=clab ORDER BY CODLABOR; CURSOR lista_trayec(cyac NUMBER, clab CHAR) IS SELECT * FROM t_trayec WHERE (yacimiento = cyac ) AND (codlabor = clab);
CURSOR lista_lycumo(cyac NUMBER, clab CHAR, metini NUMBER, metfin NUMBER) IS SELECT * FROM t_lycumo WHERE (yacimiento = cyac ) AND (codlabor = clab) AND (metfinal>metini AND metfinal<=metfin);
l_s lista_sonda%ROWTYPE; l_t lista_trayec%ROWTYPE; l_cu lista_lycumo%ROWTYPE;
metini NUMBER; metfin NUMBER; metant NUMBER; x0 NUMBER; y0 NUMBER; z0 NUMBER; x1 NUMBER; y1 NUMBER; z1 NUMBER; xm NUMBER; ym NUMBER; zm NUMBER; rumb NUMBER; incl NUMBER; codigo_yac NUMBER; codigo_labor VARCHAR2(8); gr NUMBER; ind NUMBER;
BEGIN
if (inserting) then codigo_yac:=:new.yacimiento; codigo_labor:=:new.codlabor; end if; if (updating) then codigo_yac:=:new.yacimiento; codigo_labor:=:new.codlabor; DELETE FROM L_LYCUMO_COORD WHERE yacimiento=:new.yacimiento AND codlabor=:new.codlabor; end if; if (deleting) then codigo_yac:=:old.yacimiento; codigo_labor:=:old.codlabor; DELETE FROM L_LYCUMO_COORD WHERE yacimiento=:old.yacimiento AND codlabor=:old.codlabor; end if;
/*INICIO*/ gr:=3.14159265359/180.0; OPEN lista_sonda(codigo_yac,codigo_labor); LOOP FETCH lista_sonda INTO l_s; EXIT WHEN lista_sonda%NOTFOUND; metini:=0; x0:=l_s.longitud; y0:=l_s.latitud; z0:=l_s.cota; OPEN lista_trayec(l_s.yacimiento,l_s.codlabor); LOOP FETCH lista_trayec INTO l_t; EXIT WHEN lista_trayec%NOTFOUND; metfin:=l_t.metfinal; IF metfin>0 THEN rumb:=gr*(l_t.azigrd+l_t.azimin/60+l_t.aziseg/3600); IF l_t.incgrd>0 THEN incl:=gr*(l_t.incgrd+l_t.incmin/60+l_t.incseg/3600); ELSE incl:=gr*(l_t.incgrd-l_t.incmin/60-l_t.incseg/3600); END IF; metant:=metini; ind:=0; OPEN lista_lycumo(l_t.yacimiento,l_t.codlabor,metini,metfin); LOOP FETCH lista_lycumo INTO l_cu; EXIT WHEN lista_lycumo%NOTFOUND; xm:=x0+(l_cu.metfinal+metant)/2*sin(rumb)*cos(incl); ym:=y0+(l_cu.metfinal+metant)/2*cos(rumb)*cos(incl); zm:=z0+(l_cu.metfinal+metant)/2*sin(incl); INSERT INTO L_LYCUMO_COORD VALUES (l_s.yacimiento,l_s.codlabor,xm,ym,zm); metant:=l_cu.metfinal; ind:=1; END LOOP; CLOSE lista_lycumo; x1:=x0+metfin*sin(rumb)*cos(incl); y1:=y0+metfin*cos(rumb)*cos(incl); z1:=z0+metfin*sin(incl); IF ind<1 THEN xm:=(x0+x1)/2; ym:=(y0+y1)/2; zm:=(z0+z1)/2; INSERT INTO L_LYCUMO_COORD VALUES (l_s.yacimiento,l_s.codlabor,xm,ym,zm); END IF; x0:=x1; y0:=y1; z0:=z1; END IF; metini:=metfin; END LOOP; CLOSE lista_trayec; commit; END LOOP; CLOSE lista_sonda; /*FIN*/ end mod_t_lycumo;
4
« en: Viernes 20 de Diciembre de 2002, 18:26 »
Porque es una mantencion de un sistema y esta todo hecho con adodc (control) yo personal mente trabajo con ado , pero no se si se puede hacer lo que me dices con este control
5
« en: Viernes 20 de Diciembre de 2002, 17:17 »
esta igual el codigo, es muy raro por que no sale de loop es como que no borrara ni avanzara ¿? mira lo cortare y pegare tal cual como esta
'elimina sondaje clabor_del = st_codlabor.Caption 'On Error GO TO ' Inicializa el controlador de error. opcion = MsgBox("Confirma eliminar la Labor " & clabor_del & " y todos sus datos", vbOKCancel, "Sistema de Muestreo Geologico") If opcion = 1 Then Call deshabilitar_botones Datatabla.ClearFields elimino = 0 bdgeo.UserName = st_login bdgeo.Password = st_passw bdgeo.ConnectionString = Conectar bdgeo.RecordSource = "SELECT * FROM sondajes.t_identi WHERE yacimiento=1 AND codlabor='" & clabor_del & "'" bdgeo.Refresh If bdgeo.Recordset.RecordCount > 0 Then 'bdgeo.Recordset.MoveFirst Do Until bdgeo.Recordset.EOF bdgeo.Recordset.Delete MsgBox bdgeo.Recordset.Fields(0) bdgeo.Recordset.MoveNext MsgBox bdgeo.Recordset.Fields(0) elimino = 1 Loop bdgeo.Refresh bdgeo.Refresh End If If elimino = 1 Then st_codlabor.Caption = "" a = MsgBox("Muestra eliminada Satisfactoriamente", vbOKOnly, "ATENCION") Else a = MsgBox("No se encontraron datos que eliminar", vbOKOnly, "ATENCION") End If co_op.Enabled = False End If Exit Sub
If Err.Number <> 0 Then Msj = "Error # " & Str(Err.Number) & " fue generado por " _ & Err.Source & Chr(13) & Err.Description MsgBox Msj, , "Error", Err.HelpFile, Err.HelpContext End If
End Sub
6
« en: Viernes 20 de Diciembre de 2002, 14:08 »
Hola a todo, alguien conoce una funcion que tranforme a number(oragle) gracias
7
« en: Viernes 20 de Diciembre de 2002, 13:15 »
Hola tengo es codigo para eliminar unos registro de un control de datos adodc pero cae en un loop infinito, lo rutie y no avanza aun que le cambien el movefirst por movenext no se mueve gracias
elimino = 0 bdgeo.UserName = st_login bdgeo.Password = st_passw bdgeo.ConnectionString = Conectar bdgeo.RecordSource = "SELECT * FROM sondajes.t_identi WHERE yacimiento=1 AND codlabor='" & clabor_del & "'" bdgeo.Refresh If bdgeo.Recordset.RecordCount > 0 Then Do Until bdgeo.Recordset.EOF bdgeo.Recordset.MoveFirst bdgeo.Recordset.Delete elimino = 1 Loop
Muchas Gracias
8
« en: Viernes 20 de Diciembre de 2002, 12:29 »
Hola Gracias por tu ayuda, pero queria hacerte otra consulta, te cuento estoy actualizando una base de datos que esta en oracle, la actualizacion la hago con adodc, al dale los campo al nuevo registro me arroja el error de tipo bueno octuve el tipo del campo con el cual tuve problemas y es un number el problema es que tranforme a todos los tipos posible y aun me envia el error les envio mi codigo por si encuentra el error muchas gracias If Len(tabla) = 0 Then MsgBox ("Ingrese un Nombre de Tabla") Else If Len(BD_1) = 0 Then MsgBox ("Ingrese el Nombre de Archivo a Exportar") Else filavar = 1 coluvar = 0 Ado_Tabla.UserName = st_login Ado_Tabla.Password = st_passw Ado_Tabla.RecordSource = UCase(tabla) Ado_Tabla.Refresh Do While filavar - 1 < grilla.Rows grilla.Row = filavar - 1 Ado_Tabla.Recordset.AddNew Do While coluvar - 1 < grilla.Cols grilla.Col = coluvar ' On Error GoTo error2 Typedato = (Ado_Tabla.Recordset.Fields(coluvar).Type) MsgBox Typedato If Typedato = "131" Then var = CDec(Trim(grilla.Text)) Ado_Tabla.Recordset.Fields(coluvar) = var Else Ado_Tabla.Recordset.Fields(coluvar) = grilla.Text End If coluvar = coluvar + 1 Loop Ado_Tabla.Recordset.Update coluvar = 1 filavar = filavar + 1 Loop End If do_Tabla.Recordset.Update primera = False MsgBox ("Proceso Terminado") End If FormImportar.MousePointer = 0
9
« en: Viernes 20 de Diciembre de 2002, 12:20 »
Gracias chicos pero prove las dos y se cae igual....
10
« en: Jueves 19 de Diciembre de 2002, 23:38 »
Alguien conoce alguna funcion para obtener el tipo de dato de un campo de un recorset ? ¿ y a que tipo de datos correponde en visul un number de oracle? Gracias...
11
« en: Jueves 19 de Diciembre de 2002, 23:38 »
Alguien conoce alguna funcion para obtener el tipo de dato de un campo de un recorset ? ¿ y a que tipo de datos correponde en visul un number de oracle? Gracias...
12
« en: Jueves 19 de Diciembre de 2002, 16:25 »
Hola tengo es codigo para eliminar unos registro de un control de datos adodc pero cae en un loop infinito
elimino = 0 bdgeo.UserName = st_login bdgeo.Password = st_passw bdgeo.ConnectionString = Conectar bdgeo.RecordSource = "SELECT * FROM sondajes.t_identi WHERE yacimiento=1 AND codlabor='" & clabor_del & "'" bdgeo.Refresh If bdgeo.Recordset.RecordCount > 0 Then Do Until bdgeo.Recordset.EOF bdgeo.Recordset.MoveFirst bdgeo.Recordset.Delete elimino = 1 Loop
Muchas Gracias
13
« en: Viernes 13 de Diciembre de 2002, 16:26 »
Hola a todos, les cuento que debo hacer una mantencion a un sistema, cliente servidor que esta implementado con el objeto adodc. Yo queria pedir si alguno de ustedes tienen imformacion de este objeto ¿ como trabaja con MSflexgrid para la actualizacion de datos ? agradeceria mucho su ayuda y seria de gran utilidad
14
« en: Jueves 5 de Diciembre de 2002, 20:12 »
Tengo un codigo para exportar datos a excel pero cuando llegaba a los 65536, se cae por que es esa la cantidad que soporta una hoja, la pregunta es como puedo utiliza otra hoja?
15
« en: Jueves 5 de Diciembre de 2002, 19:17 »
Tener un libro? como para saber, por que debe tener un limite ..... gracias
16
« en: Jueves 5 de Diciembre de 2002, 18:50 »
oka, gracias habia pensado algo asi me confirmaste lo que pensaba gracias
17
« en: Jueves 5 de Diciembre de 2002, 14:19 »
Hola Primera ves que entro al foro, y queria hacerles una consulta, tengo un problema al enviar datos a excel ya que excel solo aguanta 65625 registro y yo quiero enviar 127.000 registro es posible crear dos o mas archivos excel pa los datos gracias
Páginas: [1]
|
|
|