Recherche
Les mémos
-
Tables
- · Annuler la suppression
- · Attacher feuilles Excel
- · Cacher une table
- · Concaténer une colonne
- · Créer une table
- · Dernière modification
- · Index composé
- · Limiter les enregistrements
- · Liste des champs
- · Modifier valeur de champ
- · Où est la table
- · Peupler une table de Logs
- · Renuméroter un champ
- · Réattacher les liens
- · Réattacher les liens locaux
- Scinder un champ
- · Supprimer les tables liées
- · Trouver la différence
-
Formulaires
- · Afficher les derniers
- · Ajout à liste modifiable
- · Ajouter enregistrement
- · Barre de progression
- · Click ou double-click
- · Confirmer l'enregistrement
- · Copier - Coller
- · Défilement de la roulette
- · Exporter un graphique
- · Filtres personnalisés
- · Identifiants d'un Form continu
- · Importer les formulaires
- · Langue utilisateur
- · Limiter la saisie
- · Mémoriser une valeur
- · No enregistrement
- · Ouvert en normal
- · Position des formulaires
- · Recopier dernière valeur
- · Scroll automatique
- · Switch Modal
- · Tri manuel dans form
- · Tri personnalisé
- · Verrouillage de formulaire
- · Vérifier les saisies
-
Automation
-
Administration
- · Chemin de la base
- · Déconnecter utilisateur
- · Désactiver le Shift
- · Désactiver le Shift(2)
- · Liste des références
- · Liste des utilisateurs
- · Lister les applications
- · Mode exclusif
- · Nom d'utilisateur
- · Nom de l'ordinateur
- · Paramètres régionaux
- · Propriétés de la base
- · Sauvegarde journalière
- · Sauvegarde mensuelle
- · Shell and Wait
- · Version de Windows
-
Envoyer un mail
-
Outlook
- · Ajouter des contacts
- · Déplacer les messages
- · Enregistrer pièces jointes
- · Est ouvert ?
- · Exporter les contacts
- · Exporter les rendez-vous
- · Importer les messages
- · Integrer un état
- · Lire les contacts
- · Lire les rendez-vous
- · Lister les dossiers
- · Lister les tâches
- · SendMail (MAPI)
- · SendMail Automation
-
Dates - Heures
-
Fichiers
- · Compter les dossiers
- · Créer un dossier
- · Générer fichier TXT
- · Importer fichier TXT
- · Le dossier existe ?
- · Le fichier existe ?
- · Lister les fichiers
- · Lister les fichiers (2007)
- · Lister les sous-dossiers
- · Rechercher un répertoire
- · Répertoire dans table
- · Supprimer ReadOnly
- · Sélection de dossier
- · Sélection de dossier (API)
- · Sélection de fichiers
- · Sélection fichier (MOL)
-
Références
Je débute...
-
La normalisation
-
VBA
Visites
1218257 visiteurs
14 visiteurs en ligne
Nous contacter
Contact
Scinder un champ
Scinder un champ
Dans une table mal réalisée, on peut trouver des champs non atomique. On cherchera donc à scinder ce champ en ajoutant deux nouveaux champs à la table.
Un champ non atomique est par exemple un champ [Nom et prénom] lorsque ce champ doit permettre la sélection de tous les "Dupont".
L'utilisation de la fonction fnFieldSplit() permettra de simplifier le scindage du champ à problème.
Syntaxe :
fnFieldSplit "LaTable", "AncienChamp", "Champ1", "Champ2", ";"
ou si l'on souhaite scinder sur une nombre de caractères :
fnFieldSplit "LaTable", "AncienChamp", "Champ1", "Champ2", ,3
Function fnFieldSplit(sTable As String, _ sFieldToSplit As String, _ sNewField1 As String, _ sNewField2 As String, _ Optional sSeparator As String, _ Optional iChar As Integer) Dim DB As DAO.Database Dim RS As DAO.Recordset Dim sC1 As String, sC2 As String Dim Pos As Long Dim sFd As String Set DB = CurrentDb If sSeparator = "" Then sSeparator = " " 'ajout des deux champs CurrentDb.Execute "ALTER TABLE [" & sTable & "] " _ & "ADD COLUMN [" & sNewField1 & "] TEXT;" CurrentDb.Execute "ALTER TABLE [" & sTable & "] " _ & "ADD COLUMN [" & sNewField2 & "] TEXT;" Set RS = DB.OpenRecordset(sTable) 'boucle sur les enregistrements Do Until RS.EOF sFd = Nz(RS(sFieldToSplit), "") If iChar > 0 Then sC1 = Trim(Left(sFd, iChar)) sC2 = Trim(Mid(sFd, iChar + 1)) Else Pos = Nz(InStr(sFd, sSeparator), 0) If Pos > 0 Then sC1 = Trim(Left(sFd, Pos - 1)) sC2 = Trim(Mid(sFd, Pos + 1)) Else sC1 = Trim(sFd) sC2 = "" End If End If RS.Edit RS(sNewField1) = sC1 RS(sNewField2) = sC2 RS.Update RS.MoveNext Loop 'libérer RS.Close DB.Close Set RS = Nothing Set DB = Nothing Exit Function End Function
Catégorie : Les mémos - Tables
Page lue 6110 fois
Page lue 6110 fois