• Lunes 23 de Diciembre de 2024, 08:38

Autor Tema:  Re: Disculpen por favor .....  (Leído 1078 veces)

cristy

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Disculpen por favor .....
« en: Lunes 23 de Diciembre de 2002, 17:40 »
0
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

Jaume

  • Miembro MUY activo
  • ***
  • Mensajes: 151
    • Ver Perfil
Disculpen por favor .....
« Respuesta #1 en: Martes 24 de Diciembre de 2002, 13:08 »
0
¿Tiene algo que ver este problema con el mensaje anterior sobre el trigger o es nuevo? Es que ya me he perdido :)