|
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.
Temas - 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: 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;
3
« en: Viernes 20 de Diciembre de 2002, 14:08 »
Hola a todo, alguien conoce una funcion que tranforme a number(oragle) gracias
4
« 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
5
« 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...
6
« 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...
7
« 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
8
« 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
9
« 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?
10
« 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]
|
|
|