Bonjour,
Sur ce code sur l’évènement Open d’un formulaire :
J’ai un message d’erreur indiquant que MaZdLMod.ItemData(0) est Null. Le problème intervient quand je concatène 2 champs dans le sql. Si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim n As Long Dim ctl As Control Dim sql As String If Not Nz(Me.OpenArgs, "") = "" Then n = CLng(Me.OpenArgs) sql = "SELECT Id, [Champ1] & ' ' & [Champ2] AS Expr1 FROM Tbl1 WHERE Id = ' & n & ' ORDER BY [Champ1] & ' ' & [Champ2];" Me.MaZdLMod.RowSource = sql Me.MaZdLMod.DefaultValue = MaZdLMod.ItemData(0) Else Me.MaZdLMod.RowSource = "SELECT Id, [Champ1] & ' ' & [Champ2] AS Expr1 FROM Tbl1 ORDER BY [Champ1] & ' ' & [Champ2];" End Ifça fonctionne sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sql = "SELECT Id, Champ1, Champ2 FROM Tbl1 WHERE Id = ' & n & ' ORDER BY Champ1;"
Auriez-vous un conseil pour que la concaténation soit prise en compte dans le sql ? L’objectif étant que s’il y a un argument passé à l’ouverture du formulaire, il n’y ait qu’un seul enregistrement en source de MaZdLMod et que celui-ci soit directement affiché dans MaZdLMod.
Merci par avance
Partager