Function RelinkTables() Dim td As TableDef, db As Database Dim strFolder As String, arTmp As Variant, strBe As String Set db = CurrentDb strFolder = Left(db.Name, InStrRev(db.Name, "\", , vbTextCompare)) For Each td In db.TableDefs If Left(td.Connect, 9) = ";DATABASE" Then 'linked ? If Not fValidTable(td.Name) Then 'bad ? arTmp = Split(td.Connect, "\") td.Connect = ";DATABASE=" & strFolder & arTmp(UBound(arTmp)) td.RefreshLink End If End If Next td End Function Function fValidTable(TableName As String) As Boolean Dim lCount As Long On Error Resume Next lCount = DFirst("1", TableName) fValidTable = (Err.Number = 0) End Function
Comment rendre des champs obligatoires dans un formulaire Access ? La réponse la plus évidente est de modifier le design de la table et d'assigner au paramètre Required la valeur True. L'ennui de cette méthode est que le message d'erreur d'Access n'est pas très convivial et ne spécifie pas quel champ a déclenché l'erreur. Plutôt que d'écrire une routine de gestion d'erreur complexe, il y a une solution toute simple: affecter la valeur Faux à la propriété Required du champ, Validation Rule: Is Not Null Validation Text: le texte à afficher, ex: "Code Postal obligatoire" ..et le tour est joué. Cette astuce vient de l'excellent Allen Browne, dont le site (en anglais) regorge d'informations utiles sur Access. ps: je n'ai pas sous la main de version française d'Access pour la traduction des propriétés, désolé...
Commentaires
Enregistrer un commentaire