dポイントプレゼントキャンペーン実施中!

今、職場でエクセルで管理しているデータ。
パソコンに強い人が作ったので、
関数もマクロもいっぱい!!
充分機能するのですが、やはり限界も感じるらしく
アクセスで作り直してみない?と言われました。
これから、業務の関係で10日ほどはゆとりがあるからです。

6年ほど前に学校で学んだ知識を思い出しながら、
テーブルとフォームを作成しました。
でも、VLOOKUPのような関数はアクセスでは使えないのでしょうか?
金融機関を銀行・支店コードから引っ張ってきたいのです。
それと、郵便番号も地域が限られているので、
町名から引っ張ってきたいのですが、可能でしょうか?

この質問をエクセルで作った本人が読んでいたら・・・
恥ずかしいと思いつつ、できるだけ良いものを作りたいので
質問させていただきました。

よろしくお願いします。

A 回答 (4件)

No2です。


「AccessにはDLookUpがあります」の間違いでした。
申し訳ありません。
    • good
    • 0

Access と Excel の重大な相違点の一つは SQL言語を使うことではないでしょうか?



<ZipList>
ZIP_________Address
1111111__大木町
1111112__天神町
1111113__坂下町

[イミディエイト]
? DBLookup("SELECT ZIP FROM ZIPLIST WHERE ADDRESS='大木町'")
1111111
? DBLookup("SELECT ZIP FROM ZIPLIST WHERE ADDRESS LIKE '天神%'")
1111112

フォームの[イミディエイト] では、このように関数をテストすることが出来ます。
このテストで判るように、SQL文のSELECT文がVLOOKUPに匹敵すると考えることも出来ます。
クエリは、この機能を利用する仕組みのようなものです。
なお、DBLookup関数は、この回答のために書いたものです。
SQL文に堪能であれば、DBLookup関数で大概のことがやれると思います。

この回答は、現実には意味をなさないとは思います。
軸足は、「SQL文も課題ですよ」にあります。

Public Function DBLookup(strQuerySQL As String) As Variant
On Error GoTo Err_DBLookup
   Dim DataValue
   Dim rst     As ADODB.Recordset

   Set rst = New ADODB.Recordset
   With rst
     .Open strQuerySQL, _
        CurrentProject.Connection, _
        adOpenStatic, _
        adLockReadOnly
     If Not .BOF Then
       .MoveFirst
       DataValue = .Fields(0)
     End If
   End With
Exit_DBLookup:
On Error Resume Next
   rst.Close
   Set rst = Nothing
   DBLookup = DataValue
   Exit Function
Err_DBLookup:
   MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
      "・Err.Description=" & Err.Description & Chr$(13) & _
      "・SQL Text=" & strQuerySQL, _
      vbExclamation, " 関数エラーメッセージ"
   Resume Exit_DBLookup
End Function
    • good
    • 0

accessでがvlookupという関数があります。


が私はほとんど使いません。
他の機能を使うことが多いです。

連結フォームやコンボボックス、リストボックスのレコードソースのSQLを書き換えたり、
ADOなどで検索したりすることが多いです。

他のデータベースを参照したり、他のプログラムに書き換えるときにはそのほうが都合がよいと思います。
    • good
    • 0

可能です。

様々な実装が考えられますが、少し慣れればエクセルより遙かに手続きは簡単です。一つのポイントは「クエリー」を理解することです。これはリレーショナルデータベースの基本なので、アクセスと限らず、勉強することは大変有効です。

で、「具体的にどうするか」が一番知りたいところとは推察しますが、文字だけで表現するのは辛いものがあります。また実用的なフォームを完成させるためには、他にも色々な知識が必要になると考えます。お奨めしたいのは参考書の購入です。それを利用し、具体的に判らない箇所を質問すれば、具体的な回答が付くことと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
チャレンジしてみます

お礼日時:2007/03/21 12:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す