Renaud BomPuisが提供する答えを「サンプルデータベース(https://dl.dropboxusercontent.com/u/52900980/StackOverflow/SO25044339.accdb)」という形で「私はMicrosoft Accessを使用してドキュメントデータベースを作成する」という私の要件に合った古いポストを探しました。ドキュメントデータベースを作成する
私のニーズに合わせてソースコードを操作し、メインデータベースに正常に挿入することができました。私が持っている唯一の問題は、私にとって間違った場所に新しいレコードを作成するということです。ユーザーが[ファイルをアップロード]をクリックすると、新しいレコードが作成され、ファイルダイアログを使用してファイルを選択できるようにフォームが開きます。しかし、ユーザーが気を変えてキャンセルをクリックすると、レコードはすでに作成されていますが、ファイルパスは空です。
ユーザーが確認しても新しいレコードを作成できるようにしたいが、コードを正しく操作して正しい順序で操作できないようだ。
誰でも助けてもらえますか?どうもありがとう。
EDIT:(私は仮定)frmDocSelect
がtblDocuments
に既存のレコードに依存しているため、コードのコメント
Private Sub btnUploadDoc_Click() ' Create a new record in the Documents table for the selected Works No
Dim DocID As Variant
Dim db As dao.Database
Dim rs As dao.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("tblDocuments", dbOpenDynaset, dbFailOnError)
With rs
.AddNew !WorksNo = cboWorksNo
.Update
.Move 0, .LastModified
DocID = !DocID
.Close
End With
Set rs = Nothing
Set db = Nothing
DoCmd.OpenForm "frmDocSelect", WhereCondition:="DocID=" & DocID
End Sub
ような何かをボタンクリックアップロードファイルのコードを示していただけますか?私たちの企業ネットワークでは、私はdao.Database dao.Recordset として暗いRSとしてバリアント 薄暗いデシベルとして選択された作品はありません 薄暗いDocIDのためにドキュメントテーブルに新しいレコードを作成」 –
ます。Private Sub btnUploadDoc_Click() デシベルをダウンロードすることができませんRS .AddNew !WorksNo = cboWorksNo .Update .Move 0、.LastModified たDocID =!DocIDを で設定したDB = CurrentDb() セットrs = db.OpenRecordset( "tblDocuments"、dbOpenDynaset、dbFailOnError) 。閉じる 最後に を設定するrs = Nothing DBを設定する= Nothing DoCmd.OpenForm "frmDocSelect"、WhereCondition:= "DocID ="&DocID End Sub – Chris
doc selectコードがfrmDocSelectフォームにあるとします。あなたもそれを投稿する必要があります(ただし、元の投稿を編集し、最後の@Andreのようなコードタグでコードをラップしてください)。新しいレコード – dbmitch