SoloCodigo
		Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: willysistemas en Martes 18 de Marzo de 2008, 02:02
		
			
			- 
				Hola requiero ayuda urgente con este codigo:
 
 lo que requiero es que cada que importe el archivo me verifique y actulice si el registro ya existe o que lo inserte si aun no existe
 
 este es el codigo del formulario
 
 Dim rec As New ADODB.Recordset
 
 Public Function FileToString(FileName As String) As String
 Dim hlngFile As Long, strFile As String
 hlngFile = FreeFile
 Open FileName For Binary Access Read As hlngFile
 FileToString = vbNullString
 strFile = String(FileLen(FileName), " ")
 Get hlngFile, , strFile
 Close hlngFile
 FileToString = strFile
 End Function
 
 Private Sub Importar_Click()
 On Error GoTo archivo
 Dim Lineas As Variant, i As Integer, j As Integer, k As Integer
 Dim Columnas() As String
 Dim Camino As String
 
 CommonDialog1.DialogTitle = "Abrir archivo de texto"
 CommonDialog1.Filter = "Texto (*.txt)|*.txt"
 CommonDialog1.ShowOpen
 
 Dim rutas As String
 rutas = CommonDialog1.FileName
 
 Camino = App.Path & "\rutas"
 
 Lineas = Split(FileToString(rutas), vbCrLf)
 For i = Val(LBound(Lineas)) To UBound(Lineas)
 Columnas = Split(Lineas(i), " ")
 rec.Open "Select * from Socios", bd, adOpenKeyset, adLockOptimistic
 With rec
 If UBound(Columnas) = 4 Then
 .AddNew
 !Nombre = Columnas(0)
 !Apellido = Columnas(1)
 !Direccion = Columnas(2)
 !Telefono = Columnas(3)
 .Update
 .Close
 End If
 End With
 Next i
 MsgBox "Los Datos se importaron con exito!!!!", vbInformation, "De .txt a .mdb"
 Exit Sub
 
 archivo:
 MsgBox "Se produjo un error", vbExclamation, "Error."
 End
 End Sub
 
 Private Sub CmbSalir_Click()
 End
 End Sub
 
 en un modulo abro la base de datos asi:
 
 Public bd As New ADODB.Connection
 Sub Main()
 bd.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Base.mdb;Persist Security Info=False"
 Form1.Show 1
 End Sub
 
 
 anexo la base de datos que utilizo y un archivo de texto de prueba
- 
				Salu2. Si he entendido bien con cambiar la Select te vale :).
 Select DISTINCT * from Socios", bd, adOpenKeyset, adLockOptimistic
 
 Espero haberte ayudado.
 :comp:  :smartass:  :comp: