Bonjour,
J'ai créé un form sous Access 2010, avec une table comme recordsource et dynaset. Sur le form, tous les champs sont liés aux champs de la table à part un champ de texte que j'utilise pour uploader des pièces jointes (stocké comme attachment dans le champ "business_case" de la table) comme suit:
Code :
- Private Sub attachementText_Click()
- Dim filepath As String
- Dim rs As Recordset2
-
- filepath = SelectFile
- Dim fso As New FileSystemObject
- Dim fileName As String
- fileName = fso.GetFileName(filepath)
-
- Set rs = Me.Recordset
-
- Select Case isValidPackBusinessCase(filepath)
- Case 1 ' valid business case, approved
- Me.attachementText.Value = fileName
- AddAttachment rs, "pack_business_case", filepath
- Case -1 'valid business case, but not approved
- MsgBox "Uploaded file is not an approved business case"
- Case Else
- MsgBox "Uploaded file is not a valid business case"
- End Select
- End Sub
|
Dans la méthode AddAttachment, j'ai la commande:
Code :
rstCurrent.Fields("business_case" ).Value
|
Et là je me mange un "no current record". En googlant j'ai bien compris que c'est parce que le recordset ne contient pas encore d'entrées (confirmé par le AbsolutePositon = -1), mais comment changer ça? J'ai essayé de faire un rs.AddNew dans mon event "attachementText_Click()", mais j'ai une erreur me disant que l'action a été bloquée (probablement par le fait que le Form est lié à ce même recordset).
Voyez-vous où je fais faux?
merci!
Esox
---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait