例えば、小さな通信販売のお客さんの台帳を作る場合、アクセスというソフトだと何がよいのでしょうか?エクセルよりも使いやすいのでしょうか?
また、操作はガイドをみれば理解できますか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

通信販売の業務について良く知りませんので、一般的な話として述べさせてもらいます。


単に名簿を管理する程度のことなら、エクセルでも検索や並べ替えの機能ぐらいは持っておりますし、マクロ(VBA)を活用すればそれなりの自動処理も可能ですので、十分対応できると思います。
ただし、エクセルではお客さんそれぞれの情報を単票として表示したり印刷したりするような使い方には向いていません。このような場合にはデータベースソフトが有用です。
ところで、一口にデータベースソフトと言ってもその中にはかなり簡単な処理しかできないもの(その分とっつきやすく、操作の習得も楽)から、アクセスのように相当の作り込みまでできるようなもの(その分ハードルが高い?)があります。単票処理だけが目的ならば、アクセスよりも(私は使ったことがないので、本当のところは良くわかりませんが)ファイルメーカーのようなカード型データベースの方が使いやすいと思います。場合によっては、たとえば年賀状の宛名ソフトなんかを活用しても、それなりのことはできるのではないでしょうか。
それでは、どんな場合にアクセス(のようなリレーショナルデータベース)が有用なのでしょうか。結論から申し上げますと、『複数のテーブル(表)を関連付けてデータベースを構築する』時に有用となります。
これだけではわかりにくいと思いますので、例をあげてみます。たとえば、お客さんの名前、住所、電話番号などの顧客情報の一覧表があり、別に注文ごとの顧客番号、受注日、商品番号などの受注一覧がある場合、アクセスならこれらの表を関連付けて、たとえばあるお客さんの過去の購入履歴を簡単に表示させたり、あるいは新たな注文がきた時に顧客番号を入力するだけで住所や電話番号が記入された発送伝票を印刷したりすることができます。(エクセルで同じ情報を管理しようとすると、表を一つにまとめることが必要ですので、注文ごとに顧客の名前、住所、電話番号などのデータも入れることになり、表が巨大になって、管理が非効率的です。)
また、品目とその在庫状況のテーブルと仕入元データのテーブルを用意してこれらを関連付ければ、(発送伝票の発行で在庫数を減ずるような細工をすることで)在庫がある数量以下になった時点で自動的に発注伝票を印刷するといったことも可能です。
さらにマクロやVBAを使えば、独自のアプリケーションを比較的容易に(とはいってもプログラミング未経験の人には多少敷居が高いか?)組むことができるのも魅力です。
さて、アクセス習得の難易度ですが、完璧に使いこなそうと思うと相当奥が深いといえます。一方で、とりあえず簡単なデータ管理ということでしたら、ひるむことはないと思います。
そうは言っても、これまでまったくデータベースソフトを使ったことがない方でしたら、データ操作のイメージをつかむために、とりあえず簡単な入門書を購入されることをオススメします。その後はオンラインヘルプ(これが基本)やk_ebaさんがご紹介されているようなサイト(探してみるとけっこうたくさんあります)を利用すれば、独学で十分習得可能だと思います。
アクセスはこの価格帯のデータベースソフトとしては特異的なぐらい高機能で、かなり複雑なアプリケーション開発が可能です。(一方でけっこうバグがあり、動作も多少不安定だったりもしますが、少なくともスタンドアロンで使う場合、十分実用的だと思います。)もしもリレーショナルデータベースが業務に有用と思われたなら、アクセスは個人レベルで使う場合、他に選択肢がないと言えるぐらいお勧めです。
    • good
    • 1

アクセスの参考hpを紹介します



参考URL:http://www.people.or.jp/~Niki/
    • good
    • 0

アクセスというソフトは主な機能がデータベースの構築、顧客情報の管理です。


慣れれば、エクセルより使いやすいと思います。特に機能はエクセルよりずいぶん多いのです。
操作ガイドを読めば、使えるでしょう。
一度チャレンジしてみてください!
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESS2003のデータアクセスページの使い方について

イントラ内でACCESS2003のデータアクセスページを使いたい。

1.ACCESS2003のデータアクセスページを作成しました。
2.そのMDBファイルと、データアクセスページ(htmファイル)を、WINDOWS2000ServerのInetpub内のwwwrootフォルダの中へ入れました。
3.ここにはイントラ内のHPなどを置いています。(普通に見れています。)
4.クライアントから、データアクセスページのhtmファイルを見に行くと「データソースログオン」が立ち上がります。(パスワードを設定しています。)
5.パスワードを入れるとデータアクセスページ(htm)から、通常のアクセスのフォームのごとくデータ入力が出来る予定なのですが(泣)できません。(泣)

で、悩んでおります。

ACCESS2003のMDBファイルとデータアクセスページ(HTMファイル)をサーバーのwwwrootへ置いただけでは、データアクセスページを通してmdbファイルへの入出力は不可能なのでしょうか?

Aベストアンサー

MDBに接続されたAccessプロジェクトを開いている場合データアクセスページは自動的にそのデータベースに接続されてそのパスがデータアクセスページのConnectionString プロパティに設定されます。
ページを作成した後でデータベースを移動またはコピーした場合はConnectionString プロパティに設定されているパスを更新して新しい保管場所を設定する必要がありますがどうなっていますか?
そこを確認してみてください。

Qアクセスでの台帳作成法の次の質問です

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1114751
ここで,今日の午前中11時頃に質問をして,改ページの仕方は,よく理解できて実行できたのですが,整理番号の表示方法ができませんでした。
 テーブルやクエリやフォームやレポートの画面が
ありますが,どのモードで入力したらいいのでしょうか。
また,コントロールソースに入力というのは,どこなんでしょうか。テキスト形式でしょうか,計算式でしょうか。
 また,同じ整理番号で同じ商品名のものは同じページなので,商品名や整理番号は一ヶ所にのみ表示したいのですが,どうしたらいいでしょうか。
 ヘッダーに入力したら,最初のページだけ表示されて,他のページは表示されませんでした。
 初心者なので,ご教授よろしくお願いします

Aベストアンサー

[表示]-[並び替え/グループ化の設定]を開き、「商品名」などのフィールドを選択して、グループヘッダーを「はい」にしてください。
そうしますと、グループヘッダーが表示されます。

テキストボックスの追加方法は、ツールボックスからテキストボックスを選択し、グループヘッダーの上でマウスで四角を書くようにしてあげると追加できます。

ツールボックスのツールバーが表示されていないようでしたら、[表示]メニューの[ツールボックス]をクリックしてください。

Qホームページ移転に伴う.htaccessの使い方ですがアップロードして

ホームページ移転に伴う.htaccessの使い方ですがアップロードして削除できなくなる事ないですか??また、さくらサーバーは.htaccess使えますか??

Aベストアンサー

.htaccessだけではなく、
ファイルはパーミッションによっては一旦削除できなくなると思いますよ・・・
使えないのにアップすると削除出来ないとか。

>さくらサーバーは.htaccess使えますか??
使えます。
.htaccessを使えない有料サーバってあるのでしょうか?・・・

Qアクセスで仕入先台帳を作成。振込先銀行・支店登録について・・・

アクセスで仕入先台帳を作成したいと考えています。
その中で、振込支払先情報を登録するのですが、銀行支店が登録できません。

仕入先tblから 銀行tbl、支店tbl を見に行き選択する形にしたいのですが、
支店番号は銀行単位で採番されているため、
支店番号だけで支店を特定することができません。(重複しています)
※銀行番号、支店番号は全国共通のため変更できません。

支店番号を入力する前には必ず銀行を選択しますので、
「選択した銀行の支店しか登録できない」といったような制限や
「選択した銀行の支店のみリスト表示される」ように など
できませんでしょうか?

◆仕入先tbl
仕入先ID
仕入先名
振込先銀行コード(手入力)
振込先銀行支店コード(手入力)
・・・
◆銀行tbl
銀行ID
銀行コード
銀行名
・・・

◆銀行支店tbl
銀行支店ID
銀行コード(銀行tblより選択)
銀行支店コード(重複あり)
銀行支店名
・・・

以上、宜しくお願いいたします。

Aベストアンサー

さて、先の設計でウィザードで[仕入先]フォームを生成します。

銀行_ID.値集合ソース=SELECT 銀行.ID, 銀行.銀行コード, * FROM 銀行;
銀行支店_ID.値集合ソース=SELECT 銀行支店.ID, 銀行支店.銀行支店コード, * FROM 銀行支店;

ということで出来上がります。

列幅=0cm;2cm

と設定していますので、見た目には<銀行.銀行コード><銀行支店.銀行支店コード>を選択することに。

<<銀行支店.銀行支店コードを如何に絞り込むか?>>

SELECT 銀行支店.ID, 銀行支店.銀行支店コード, * FROM 銀行支店 WHERE (((銀行_ID)=Forms!仕入先!銀行_ID));

このように、銀行支店_ID.値集合ソースのSQL文にWHERE節(条件)を付加することで絞込みが可能になります。

Private Sub 銀行_ID_AfterUpdate()
  Me.銀行支店_ID.Requery
End Sub

さすれば、Requery で絞り込まれます。
蛇足ながら、銀行が変れば、銀行支店もクリアして該当する先頭支店をセットする必要もあるでしょう。

Private Sub 銀行_ID_AfterUpdate()
  Me.銀行支店_ID.Requery
  Me.銀行支店_ID.Clear
End Sub

Private Sub 銀行支店_ID_GotFocus()
  If Len(Me.銀行支店_ID & "") = 0 Then
    Me.銀行支店_ID.Value = Me.銀行支店_ID.ItemData(0)
    Me.銀行支店_ID.Dropdown
  End If
End Sub

*****************
    補足
*****************

テーブルデザインのプロパティのルックアップで<値集合ソース>をセットします。

さて、先の設計でウィザードで[仕入先]フォームを生成します。

銀行_ID.値集合ソース=SELECT 銀行.ID, 銀行.銀行コード, * FROM 銀行;
銀行支店_ID.値集合ソース=SELECT 銀行支店.ID, 銀行支店.銀行支店コード, * FROM 銀行支店;

ということで出来上がります。

列幅=0cm;2cm

と設定していますので、見た目には<銀行.銀行コード><銀行支店.銀行支店コード>を選択することに。

<<銀行支店.銀行支店コードを如何に絞り込むか?>>

SELECT 銀行支店.ID, 銀行支店.銀行支店コード, * FROM ...続きを読む

QAccessで作成したテーブルのOLEオブジェクトの使い方

Accessで作成したテーブルにデータ型(OLEオブジェクト型)で画像を取り込みできるようにしました。
取り込みした画像を開くためのフォームを作成して画像を開けるようにしました。
下記の内容です。

Private Sub Form_Open(Cancel As Integer)
Form.Caption = ProgName
End Sub

しかし「ビットマップ形式」ですと問題なく開くのですが、「JPG形式」ですと開けないのです。取り込みしたAccessテーブルのフィールドから直接だとひらけます。
Accessで作成したフォームから、「JPG形式」の画像を開くにはどうすればよろしいですか?
また、画像を1000件ほど取り込みすると大きいデータベースになってしまいます。Accessのデータベースのサイズは制限があるのかしら?
アドバイスいただけれは幸いです。

Aベストアンサー

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正しく表示されません
http://support.microsoft.com/kb/832508/ja

解決策としては JPEG を開ける OLE コンテナになるアプリケーションをインストールしておく。

Google「Access データベース サイズ 制限」で検索
http://www.google.com/search?hl=ja&num=50&q=Access+%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9+%E3%82%B5%E3%82%A4%E3%82%BA+%E5%88%B6%E9%99%90&lr=lang_ja

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正...続きを読む

Qエクセル(アクセス)での操作方法

元のデータ(テキスト)が下記の形式であります
"M2M1","D2N1","D2N2","D2N3","D2N4","D2N5","D2N6","D2N7",

これがフィールド名(列)となり、その下に該当データが入る形になります。

このテキストファイルをエクセルやアクセスでデータを追加していき、最終的には元通りの形(テキストファイルで同形式)にしたいのですが、可能でしょうか?

エクセルで何度か試したのですが、加工する為には取り込む際にカンマを基準として列に分けないと難しいのですが、一旦分けてしまった後に元に戻す方法が見つかりませんでした。

エクセル(アクセス)でやりたいことは
(1)列のデータそれぞれを””でくくる
(2)列と列の間にカンマを入れる

ということです。可能かどうか、可能であればどのように操作するのかを教えてください。

Aベストアンサー

名前を付けて保存→ファイル名をCSV形式で保存。
で、カンマ区切りで保存することが出来ます。
カンマ区切りのデータのことをCSVファイルと言います。
そのままダブルクリックで開くと、再びエクセルで開いてしまうので、プログラムから開くでエディターを指定するか、拡張子をtxtに変更してください。

QAccess2000でFTPの使い方について。

Access2000のフォームから、実行のボタンをクリックするとFTPサーバに接続→ファイル取得→Accessテーブルに取込→FTPサーバのファイル削除→FTPサーバの接続切断という処理をしたいのですがどのようにしたらよいかわかりません。説明不足だとは思いますが、アドバイスを宜しくお願い致します。

Aベストアンサー

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一覧(詳細)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
v = ftp.GetDir("bussys/winnt/winnt-public") ' ディレクトリ一覧(ファイル名のみ)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") 'ファイル受信

end sub

実行には20秒ほどかかります。
実行前にはCドライブにtempというフォルダを作っておいてください。

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一...続きを読む

QアクセスVBAでエクセルを操作するのは不可能でしょうか?

アクセスVBAでエクセルを操作するのは不可能でしょうか?
テスト.xlsのシート1の1行目コピーして
テーブルに追加するということがしたいのですがどういうコードを書けばいいのか分かりません。
テスト.xlsは開いている状態です。
アクセス側のユーザーフォーム上のコマンドボタンをクリックしたらこの動作を実行するコード。。。
というのは不可能でしょうか?よろしくお願い致します。

Aベストアンサー

>テスト.xlsのシート1の1行目コピーしてテーブルに追加する
これはAccessからExcelを操作するとはいいませんね
単にExcelのデータを取り込むだけの話ですよ

やりようによってはコードを書く必要も無いでしょう
Excelを開いておく必要もありません

インポートとかリンクを調べてみれば

QRuby on Rails 「attr_accessor」 の使い方に

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状態になってしまうことです。
「:if => 項目?」を書いてみると、「undefined method」のエラーがでてしまいます。

どなたか対応策の分かる方がおられましたらご教授いただけないでしょうか?

下記に実際の問題箇所のモデルクラスのソースを書いておきます。

 class User < ActiveRecord::Base

   attr_accessor :NEW_USER_PW ← 追加したアクセサ

   # 追加したアクセサに対するチェック
   validates_length_of :NEW_USER_PW, :minimum=>4, :message=>"は%d桁以上を設定してくださ            
    い。", :on => :update, :if => :NEW_USER_PW?

 end

上記のチェック内の「:if => :NEW_USER_PW?」で落ちてしまいます。
入力がないのにチェックに引っかかるとまずいので、入力がないときだけ上記チェックを行えれば良いのですが・・・。

どうぞ宜しくお願い致します。

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状...続きを読む

Aベストアンサー

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.size > 0
end

また、ifにはprocオブジェクトを渡すこともできますので、
:if => Proc.new{|u| u.NEW_USER_PW.size > 0}
と書いてもいいでしょう。


NEW_USER_PWというインスタンス変数はすべて大文字を使用されていますが、
見る人によっては定数と勘違いします。
変数であれば小文字表記を利用するほうが良いかもしれません。

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.s...続きを読む

Qアクセスからアクセスを立ち上げたいのですが

オフィス2007です。
アクセスからアクセスを立ち上げたいのですが、うまくいきません。

test1.accdbにフォームとコマンドボタンを設置して、

Private Sub コマンド1_Click()
Dim acApp As Object
Set acApp = CreateObject("Access.Application")
acApp.OpenCurrentDatabase C:\test2.accdb"
acApp.Visible = True
End Sub

を実行したのですが、アクセスのアプリケーションが一瞬だけ開いて、閉じてしまいます。

「 acApp.Visible = True」の部分に、ブレークポイントを設定して、ステップインしてみたところ、
acApp.Visible = Trueでアクセスのアプリケーションが立ち上がり、test2.accdbが表示されますが
「End Sub」で閉じてしまいます。

ずっと開き続けるにはどうすればいいでしょうか?

Aベストアンサー

提示された VBA でやろうとした場合、

acApp.UserControl = True

を記述追加してみて、どうなりますか。



※ ただ単に Accessファイルを別プロセスで起動したい場合

・コマンドボタンの HyperlinkAddress に起動したいファイルパスを設定するとか
・FollowHyperlink でそのファイルパスを指定するとか
・CreateObject("Shell.Application").ShellExecute でそのファイルパスを指定するとか
・API の ShellExecute を使って
  Call ShellExecute(0, "OPEN", ファイルのパス, "", "", 1)

等々、実現する方法はいろいろあると思います。

※※ それぞれ起動された後の表示の違い等は実際にやってみてください。


人気Q&Aランキング

おすすめ情報