Bonjour à tous,
Je souhaite créer une requête SQL afin d'alimenter un Array depuis un fichier TSV:
Avec un fichier Excel, l'exercice fonctionne très bien, cependant avec un fichier TSV, j'ai une erreur '3001' ( Les arguments sont de types incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres ).
Ma variable "Lst" contient le chemin ainsi que le nom du fichier.
J'aimerais que cette fonction me renvoie un tableau de type Array du fichier TSV, ça fonctionne très bien avec un fichier Excel mais je ne vois pas ce qui bloque sur un fichier TSV. Avez vous une solution ?
	
	
	
	
	
		
Merci à vous
	
		
			
		
		
	
				
			Je souhaite créer une requête SQL afin d'alimenter un Array depuis un fichier TSV:
Avec un fichier Excel, l'exercice fonctionne très bien, cependant avec un fichier TSV, j'ai une erreur '3001' ( Les arguments sont de types incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres ).
Ma variable "Lst" contient le chemin ainsi que le nom du fichier.
J'aimerais que cette fonction me renvoie un tableau de type Array du fichier TSV, ça fonctionne très bien avec un fichier Excel mais je ne vois pas ce qui bloque sur un fichier TSV. Avez vous une solution ?
		VB:
	
	
	 Function Import_data(Lst)
    'Objectif : 'Importation de fichier avec la méthode ADO
    'Methode : Commande SQL
    'Date : 30/10/19
    'MAJ : 30/10/19
    'Fait par : Guerrier Florian
    Dim Rst As ADODB.Recordset
    Dim intTblCnt As Integer
    
    Set Cn = New ADODB.Connection
        
    With Cn
        '.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Lst & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";"
        .Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Lst & ";Extended Properties=""text;FMT=Delimited(" & vbTab & ");"
            
    End With
    Set Rst = Cn.OpenSchema(adSchemaTables)
    intTblCnt = Rst.RecordCount
    If intTblCnt > 1 Then MsgBox "Le fichier ne peut contenir qu'un onglet Raw": Test_error = True: Exit Function
    strTbl = Rst.Fields("TABLE_NAME").Value
    
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute("SELECT * FROM [" & strTbl & "] ")
    
    Import_data = Rst.GetRows
    
    'Libération de la mémoire
    Cn.Close
    Set Cn = Nothing: Set Rst = Nothing
              
End FunctionMerci à vous
 
	 
 
		 
 
		 
			 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		