Conversion de datos string en integer desde vb6

Hola mi problema es que estoy haciendo un sistema que debe cargar un txt leeerlo y debe aguardar en una tabla, pero al momentro de guardar me dice erro de tipo de dato no conciden ya que la variable ne vb es de tipo string y en base de dato son numérico y el otro es varchar, he investigado ya y prove con una conversión pero aun así no funciona si le puedes echar una mirada haber que hago mal.
base de dato: codigo_lab = numerico, conc = nvarchar
archivo de texto: code = string, conc = string
este es el codigo:
Private Sub btnguardar_Click()
Dim NtshsRs As ADODB.Recordset
Dim examen1 As String
Dim code As String
Dim conc As String
examen1 = FreeFile
examen1 = Me.txtexamen1.Text
Open examen1 For Input As #1
Do While Not EOF(1)
       Line Input #1, code
       Line Input #1, conc
        Set NtshsRs = New ADODB.Recordset
            With NtshsRs
                .Open "select * From ntshs ", CONEXION_ADO, adOpenStatic, adLockOptimistic
                    .AddNew
                    .Fields("codigo_lab") = code ////aqui me manda el error segun encontre en internet para hacer la conversion la psu asi Cstr(code) y no paso nada mando error intente con Int y tampoco con Val nada.
                    .Fields("conc") = conc
                    .Update
                .Close
            End With
        Set NtshsRs = Nothing
    Loop
MsgBox "Guardado satisfactoriamente"
Close #1
End Sub

1 respuesta

Respuesta
1
.Fields("conc") = Int(conc)
Si te da error es posible que conc venga vacío, entonce Int("") da error, debe ser InT("0") eso si no da error
Ya he solucionado muchos problemas, lo único es que no puedo guardar mira mi código:
Private Sub btnguardar_Click()
Dim NtshsRs As ADODB.Recordset
Dim examen1 As String
Dim code As String
Dim conc As String
Dim texto As String
examen1 = FreeFile
examen1 = Me.txtexamen1.Text
Open examen1 For Input As #1
    Do While Not EOF(1)
        Line Input #1, texto
        code = Mid(texto, 4, 9)
        conc = Mid(texto, 23, 28)
        Set NtshsRs = New ADODB.Recordset
            With NtshsRs
                .Open "select * From ntshs ", CONEXION_ADO, adOpenStatic, adLockOptimistic
                    .AddNew
                    .Fields("codigo_lab") = Int(code)
                    .Fields("conc") = conc
                    .Update
                .Close
            End With
            Set NtshsRs = Nothing
    Loop
MsgBox "Guardado satisfactoriamente"
Close #1
End Sub
Hice lo que me aconsejaste pero me dice
La operación de múltiples pasos ole db genero errores. Compruebe los valores de estado de OLE DB si es posible. No se realizo ningún trabajo
en la base de dato codigo_lab = numérico, conc = nvarchar, ya he probado con muchas cosas con CInt y nada hice un asignación de code a un variable integer y nada.
Ese código reemplaza todos los registros de la tabal con los mismo datos, ¿eso es lo que ue quieres?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas