フロントエンドをExcelに、バックエンドをアクセスとして使用しています。私はこれらのファイルを毎日クライアントに送信しています。他の人にデータベースを見られたくないのです。Excelファイルのみを転送すると、アクセスファイルも自動的に転送され、他の人が私のデータベースについて知ることがないように、Excelにアクセスを統合する方法はありますか??
データベースはアクセスのみのままにする必要があります。
質問する
112 次
2 に答える
0
Accessファイルを目に見えない形で電子メールまたはFTPで送信することはできませんが、インターネットからアクセス可能なSQL Server(またはその他の)データベースにデータを移動することはできます。
ただし、これにはいくつかの問題があります
。1)セキュリティ
2)odbc DSN
3)クライアントマシンでのodbcドライバーの可用性
于 2013-01-09T15:11:22.140 に答える
0
Access データベースをオブジェクトとして Excel ファイル ( Insert->Object->Create from file
、選択Display as icon
) に埋め込み、それを抽出して削除するようにユーザーに依頼できます。ただし、手動で行う場合、これは両側にとって少し面倒です。
プロセスを自動化する場合は、次のコードを使用します。
Private Const cStrSheetName As String = "Sheet1" Private Const cStrObjName As String = "EmbeddedFile" サブ EmbedFile() Dim strFile As String Dim ws As ワークシート ws = Sheets(cStrSheetName) を設定します。 strFile = Application.GetOpenFilename("任意のファイル (*.*), *.*", 1, _ "埋め込むファイルを選択してください") strFile = "False" の場合、Sub を終了します エラー時再開次へ ws.Shapes(cStrObjName).Delete エラー時 GoTo ErrorHandler ws.OLEObjects.Add(ファイル名:=strFile, リンク:=False, _ DisplayAsIcon:=True, IconFileName:="", _ IconIndex:=0, IconLabel:=strFile).Select Selection.Name = cStrObjName MsgBox "ファイルが正常に埋め込まれました!" サブを終了 エラーハンドラ: MsgBox "ファイルを埋め込むことができませんでした。エラー: " & _ Err.Number & " - " & Err.Description サブ終了 サブ ExtractEmbeddedFile() Dim ws As ワークシート ws = Sheets(cStrSheetName) を設定します。 エラー時再開次へ ws.OLEObjects(cStrObjName).Copy If Err.Number Then MsgBox "ファイルが埋め込まれていません!" サブを終了 終了条件 エラー時 GoTo ErrorHandler CreateObject("Shell.Application").Namespace(ActiveWorkbook.Path) _ .Self.InvokeVerb "貼り付け" If MsgBox("ファイルの抽出に成功しました" & ActiveWorkbook.Path _ & vbCrLf & vbCrLf & "埋め込みを削除しますか" & _ "このブックのファイルのサイズを縮小しますか?", vbYesNo) _ = vbはい次に ws.Shapes(cStrObjName).Delete 終了条件 サブを終了 エラーハンドラ: MsgBox "ファイル抽出エラー: " & _ Err.Number & " - " & Err.Description サブ終了
これにより、ワークシートのボタンに割り当てることができる2 つのマクロ (EmbedFile
と) が得られます。ExtractEmbeddedFile
"Sheet1"
最初の行を、埋め込みファイルを保存するワークシートの名前に変更する必要があることに注意してください。
于 2013-01-09T20:52:58.280 に答える