2

大学を卒業してから初めて新しい仕事を始めたところです。この仕事の一環として、Access 2003 データベース全体を Access フロントエンド、SQL バックエンドに変換することが最初の仕事です。

Access データベースは、スタッフ データを追加または確認するための一連のフロント エンド フォームで構成されています。その一部として、共有ドライブにある従業員の写真と履歴書を指すハイパーリンクがあります。これらは、Access DB 内にハイパーリンクとして保存されました。

その後、Access DB のデータを SQL に変換し、テスト用にデータベースに保存しました。データ変換の一環として、写真と CV の場所がハイパーリンクから nvarchar に変換されました。SSMAを使用してこれを行いました。

私の問題は、これらのテキスト リンクを表示し、フロント エンドの「写真」と「履歴書」という単語の後ろに隠れてハイパーリンクとして機能させる必要があることですが、以前のように、これをどのように行うべきかわかりません。 Access ではなく SQL のみを使用したことがあります。

ご不明な点がありましたら、お気軽に質問してください。解決に向けて努力いたします。

4

3 に答える 3

1

たとえば、次のように進めることができます。

  • 詳細セクションにコマンドボタンまたはテキストコントロールを挿入します。
  • キャプションまたはラベルを「画像」に設定します
  • 「onclick」イベントを追加します
  • onClickプロシージャで、ファイルへのパスを含む基になるレコードセットのフィールドを確認します
  • この値を使用して、followHyperlinkメソッドを起動します
  • たとえば、「picture」用のコマンドボタンコントロールまたはテキストコントロール、「cv」用の別のコントロールなどを使用できます。

これはあなたが持っている唯一の可能性の1つです。もう1つは、「スタッフ」メインフォームと「スタッフドキュメント」サブフォームを用意することです。次に、使用可能なドキュメントの数に制限を設けることなく、個人に関連するすべてのドキュメントを一覧表示できます(ここでは、staffテーブルとstaffDocumentテーブルの1対多の関係について説明しています)が、原則は同じです。 staffDocument行でのアクションでは、基になるレコードセットからファイル名を取得し、それをApplication.FollowHyperLinkメソッドに送信します。これは、レコード行のコマンドボタン、またはメインメニューバーのcommandBarControlボタンを使用して実行できます。 、またはショートカットメニュー。コマンドバーの主な利点は、フォームのラベルやコントロールの数を増やすことなく、機能を追加できることです。

たとえば、commandBarsを使用すると、コマンドバーボタンを簡単に追加できます。これにより、(2)ファイルを誰かにメールで送信したり(Outlook自動化コードを使用して)、(3)ファイルをコンピューターにコピーしたりすることもできます。

commandBarsを使用すると、アプリの一般的な「ドキュメント」メニューは次のようになります。

代替テキストhttp://www.imagechicken.com/uploads/1256033845035758200.gif

(フランス語版は申し訳ありませんが...)最後の3つのcommandBarControlsを使用すると、リンクされたファイルを表示/コピー/送信できます。前の2つでは、スキャナーまたは既存の場所からファイルをアップロードできます。

于 2009-10-20T09:16:30.927 に答える
1

まず、データ ストレージとハイパーリンクとしての処理の問題を分離する必要があります。Access のハイパーリンク データ型は、実際には特定の形式でハイパーリンクが埋め込まれたメモ フィールドです。これは、Access/Jet/ACE が処理できる最大のテキスト フィールドが 255 文字であるため、適切な URL を処理するためにメモ フィールドが必要であるためです。 . SSMA インポート操作によって最終的にどのような形式になるかは正確にはわかりません。FollowHyperlink メソッドを使用してターゲット ファイルを開くためにハイパーリンク フィールドが必要ないため、プレーンな古いテキストを使用することをお勧めします。

まず、ヘルプ ファイルで「ハイパーリンク」を確認することをお勧めします。「ハイパーリンクについて」、特にハイパーリンク アドレスの一部とハイパーリンク アドレスの例のセクションから始めたいと思うと思います。次に、FollowHyperlink メソッドのヘルプを確認する必要があります。一緒にこれを処理する方法を理解するのに十分な情報を提供する必要があります。

しかし、私はバックエンドに複雑でないストレージ、つまりプレーン テキスト、または Access がプレーン テキストに簡単に解析できるものを想定しています。

于 2009-10-21T00:54:17.030 に答える
1

これを解決できたことに感謝します。

全員の回答が問題の解決に役立ちましたが、フォームの作成方法に問題があったため、最終的にフォームを再作成する必要がありました。

データを表示するテキスト ボックスを追加し、ハイパーリンク プロパティを有効にしたフォームを再作成しただけで、正常に動作しました。

于 2009-10-21T12:40:12.170 に答える