Creer une bd avec un fichier texte et rechercher dedans

cs_rober Messages postés 86 Date d'inscription vendredi 29 novembre 2002 Statut Membre Dernière intervention 21 septembre 2010 - 9 déc. 2002 à 19:01
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012 - 28 févr. 2005 à 09:27
Bonjour,
Je voudrais creer une base de donnees avec un fichier texte qui est tabule avec des virgules,avoir l'affichage dans un tableau ,et effectuer une recherche d'une chaine et avoir en retour l'affichage sous forme de tableau de toutes les lignes ou se trouvent la chaine et la cerise sur le gateau pouvoir selectionner la ou les lignes afin d'effectuer un colle pour linseretion dans un autre fichier texte.

Merci de votre aide et de votre indulgence
roger.bernerd@wanadoo.fr

3 réponses

yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
11 déc. 2002 à 12:57
'Déja il fo créer la base de donnée

Dim wrkODBC As Workspace
Dim wrkjet As Workspace
Dim db As Database
Dim TaBase as string '(chemin complet de ta base)
'ex: c:\MaBase.mdb

Set wrkODBC = CreateWorkspace("ODBCWorkspace", "admin", "", dbUseODBC)
Workspaces.Append wrkODBC
DefaultType = dbUseJet
Set wrkjet = CreateWorkspace("", "admin", "")
Set db = wrkjet.CreateDatabase(TaBase,
dbLangGeneral)
db.Close
Set db = Nothing

Dim SQL As String
Dim ParamConnect As String
Dim VarConnect As Connection

On Error GoTo 0
Set wrkODBC = CreateWorkspace("ODBCWorkspace", "admin", "", dbUseODBC)
Workspaces.Append wrkODBC
DefaultType = dbUseJet
Set wrkjet = CreateWorkspace("", "admin", "")
Set db = wrkjet.OpenDatabase(TaBase)

'maintenant il faut créer une table dedans avec tes différent champ'vocabulaire : Champ Colonne Rubrique
SQL = "CREATE TABLE [RecupTxt] (Colonne1 varchar(2), " & _
"Colonne2 varchar(8), Colonne3 varchar(10));"
'varchar(8) signifie qu'il s'agit d'un texte de 8 caratère
db.Execute SQL

'pour le remplissage de la base à partir du fichier texte je te di ça après avoir manger.......

'suite au prochain épisode........
0
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
11 déc. 2002 à 14:13
'donc nous en étions au remplissage de la table

Dim table As Recordset
Dim Ligne As String
Dim texte As String
Dim Fichier as string 'ton fichier txt à "importer"

'rappel RecupText est le nom de ta table dans ta base
'rapel db c'est ta base
Set table = db.OpenRecordset("SELECT * FROM [RecupText]")
'*********************************
fichier = "c:\TonFichier.txt"
'*********************************
Open fichier For Input As #1
Do Until EOF(1) = True
Line Input #1, Ligne
table.AddNew
table![colonne1] = trim(left(ligne,instr(ligne,",")-1))
ligne = right(ligne,len(ligne)-instr(ligne,'",")
table![colonne2] = trim(left(ligne,instr(ligne,",")-1))
ligne = right(ligne,len(ligne)-instr(ligne,'",")
'*****************************************
'deux solution pour la dernière colonne
'1) ta chaine se fini par une ",":
table![colonne3] = trim(left(ligne,instr(ligne,",")-1))
'2) ta chaine ne se fini pa par une ","
table![colonne3] = trim(ligne)
table.Update
Loop
Close #1
table.Close
db.close
Set table = Nothing
set db = Nothing

'***************************************
'maintenant voyons un peu la recherche:

dim Base as database
dim Table as recodset
dim CheminBase as string 'chemin complet de ta base ex: c:\TaBase.mdb
dim Critere as string 'critere de ta recherche
'**************************************
cheminbase = "c:\TaBase.mdb
critere = "toto"
'**************************************
Set Base = Workspaces(0).OpenDatabase(CheminBase)
Set Table = Base.OpenRecordset("SELECT * FROM RecupText WHERE Colonne1 LIKE '*" & Critere & "*' OR Colonne2 LIKE '*" & Critere & "*' Colonne3 LIKE '*" & Critere & "*'")
'le résultat poura etre :
'tititoto
'tototata
'tutototu
'et cela dans n'importe kel colonne

'bref tu as maintenant un base selective ou au moins un des champs (colonnes)
'comporte l'expression de ton critère (ici c'est "toto")

'maintenant a toi dans faire ce que tu veux
'.....................

'J'espère t'avoir rendu service....n'hesite pas si t'as un problème
0
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
28 févr. 2005 à 09:27
Salut Yomm,

Je suis tombé par hasard sur ton super code qui va me servir très vite.

Mais j'ai un p'tit blème !

Après l'avoir adapté (surtout le chemin) voilà le msg que je reçois quand je veux écrire dans la db à partir du fichier texte (que j'ai créé) :
"variable objet ou variable block with non définie"
Ca arrive à ce niveau :

Set Table = DB.OpenRecordset("SELECT * FROM [RecupText]")

Ce qui doit se passer après, j'en sais rien !
Comme j'apprends à manipuler les db, voudrais-tu m'aider et me dire quoi faire ?

Merci d'avance.

Cordialement,

JLB59
0
Rejoignez-nous