フロントエンドをExcelに、バックエンドをアクセスとして使用しています。私はこれらのファイルを毎日クライアントに送信しています。他の人にデータベースを見られたくないのです。Excelファイルのみを転送すると、アクセスファイルも自動的に転送され、他の人が私のデータベースについて知ることがないように、Excelにアクセスを統合する方法はありますか??
データベースはアクセスのみのままにする必要があります。
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 に答える