こんにちは。
ファイルメーカーとアクセス、同じデータベースソフトらしいですけど、どうちがうのですか?
どちらを購入するべきか迷っています。教えてください。よろしくお願いします。

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

アンサープラス

データベースシステム作成にとしてよく使われるFileMakerとAccessですが、どちらにもメリットデメリットはあります。

以下のサイトで比較がされています。

Yes! we can FileMaker Pro(ファイルメーカー)と Microsoft Access(アクセス)の比較
https://ywc.com/filemaker/?p=489#

A 回答 (7件)

まず自己紹介、私は自営業者。


プログラムを外注すると会社の粗利数カ月分が吹っ飛んでしまう弱小会社の為、MS-Access95を買い日曜プログラマーになって17年目。
この間、AccessVBAのおかげでIT投資を必要最小限に減らすことが出来、個人的には「MS-Accessは弱小企業の最強の味方」と思っています。
そして今、「Filemaker to GO」を使えばFilemakerProでiPad用タッチパネルアプリが作れる記事を読み、一週間前からファイルメーカーのプログラミングを勉強し始めました。

さて本題、「ファイルメーカーとアクセスのちがいについて」

専門教育を受けていない独学Accessプログラマーなので的外れな言葉かもしれませんが、
この2つの開発ソフトは文化が違います。

私のアクセス開発の手順はこんな感じ
1:保存するテーブル作成
2:そのテープルを表示するフォームを作成
3:そのテーブルを印字するレポートを作成
4:2つ以上のテーブルを元にしたフォーム、レポートを作りたい場合は、
  クエリ(仮想テーブル)を作成。
5:複数テーブルを元にしたCSV・固定長ファイルを作りたい場合は、
  クエリーを作成するかdlookupで読んでくる。

1週間だけの勉強ですが、ファイルメーカー開発は今までの私の手順が踏めません。
・入力画面が全部連結!非連結テキストボックスすら作れない。
・クエリー(仮想テーブル)が無いなんて・・・
・Recordset的なものをLOOP出来ないのかな?
・SQL文なら一発処理出来ることが、スクリプトステップなるステップを踏んで行かないと出来ないの?
・レポート機能が貧弱。VBAで裏から動的処理が出来るAccessのレポートはスゴくパワフル。
・ここを見れば全部書いたる的なプロパティウィンドが無い。
・非連結フォームが作れないファイルメーカーで、ボタンが並んだだけの初期画面がどう作るのかな?
・バーコード機能が無いのが困る

まるで、ファイルメーカーはテーブル単位で入力出力機能を作り、切り替えボタンでそれらを横飛するデータベース風なものに思えます。

ちなみに、ネットよく見かる、「ファイルメーカーはアクセスより勝れている」的書き込みって本当なのかな?
MS-Accessで10万行のレコードを連結フォームで表示させるとパフォーマンスが落ちます。
連結フォームしか作れない「Filemaker Pro」だと軽々スクロール出来るのかな?

AccessならWHEREでフィルタリングしたSQL文を非連結一覧表フォームのデータソースに動的指定できます。
VBAで下記のスクリプトを実行すればデータがリロードされます。
Me.RecordSource="SELECT * FROM 販売明細 WHERE 得意先コード='" & 探してるお店 & "'"

僕には、ファイルメーカーのLOOPも不思議に思えます。

LOOP
 IF(条件)
   処理
 ENDIF
LOOP END だったっけかな?

1万行あれば1万回LOOPしてIFで引っ掛けるの?
AccessならSQL文のWHEREでフィルタリングしたレコードセットを作り処理させます。

Dim cn As ADODB.Connection
Set cn = Application.CurrentProject.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim StrJAN as String
Dim StrSQL as String

StrJAN =探してるJANコード
StrSQL ="select * from 販売明細 where JANコード='" & StrJAN & "'"
rs.Open StrSQL , cn, adOpenKeyset, adLockOptimistic

Do while rs.EOF=False
処理
rs.MoveNext
Loop

rs.Clos
cn.Close


とにかく、Accessプログラマーにとってファイルメーカーは異文化で難解です。

どこかの掲示板に書いてた「難しアクセス、簡単ファイルメーカー」の書き込みを信じ、すでに購入してしまった6万円の「ファイルメーカープロ12アドバンスド」
仕事に実践投入出来るタッチパネルシステムを作らねば経理がソフト代を払ってくれません(泣)

「アクセスならこうする」的発想ではファイルメーカー開発は無理そうですね!
「郷に入れば郷に従え」
「ファイルメーカーしてるんだからこう作る」的発想が出来るよう、もっと知識を詰め込まなければ思ってます。
そうしないと、僕の6万円が一生戻ってこないよ・・・

以上のことはすべて素人のサンデーAccessプログラマーの個人的意見です。
間違いがあればごめんなさい。
    • good
    • 26

データベース初心者ですが、同じくかなり迷いました。


Accessは、
(1)かなり知識が必要で即効性に乏しい。
(2)当然、エクセルとの互換性が優れるだろう..。
  ↑使っていないので想像です。

FileMakerは、
(1)初心者でもかなりの事が出来る。
(2)視覚的に理解し易い。
(3)画面デザインがしやすい。判りやすい。
  ↑但し現在奮闘中です。

FileMakerにして正解だったです。
ただソフトに詳しくなってくると、奥が深く悩む事も
多くなってくるのでしょうが..。
    • good
    • 10

 熟達してるというわけではありませんが、一応両方使っていますので、印象を書いて見ます。



ファイルメーカー
 元々マッキントッシュ用のソフトだったとの事で、マックとの相性がよいようです。Windowsでももちろん使えますし、マックとのファイル共有も出来るのは大変便利ですが、Windows上ではしょっちゅうクラッシュします。
 他の特徴は、既に何人もの方が書かれていますが、とにかく簡単なデータ管理ファイルを作るには非常に便利で、見栄えも整えやすいし、アクセスにくらべて簡単です。ただし、Windowsに慣れていると、用語の違いに戸惑うかも知れません。
 

アクセス
 マッキントッシュでは使えません。
 デザイン設計は少々面倒です。テーブル(データ一覧)、クエリ(検索、ソート画面)、フォーム(登録画面)、レポート(印刷レイアウト)などの機能をそれぞれ独立して作らなければなりません。ファイルメーカーの場合はフォームと表を一つづつデザインしておけば、そこから印刷、検索、ソートがメニューバー上の機能で簡単に出来てしまいます。
 ただし、入り組んだ処理をさせるにはアクセスの方が小回りが利きます。Visual Basic(プログラム言語の一つ)が標準で使えるようになっているため、一つのボタンに対して、いろいろな複雑な処理をプログラム(コード)で直接指定できます。

 結論としては、アクセスは玄人向きということでしょうか。
    • good
    • 11

単独使用なら絶対ファイルメーカー、SQLサーバー等とペアで


組まれる場合はアクセスをおすすめします。

現在、FileMakerPro5とAccess2000を用途に応じて
使い分けています。それぞれのメリット、デメリットを
独断と偏見で書きますので参考にしてください(ならないかも…)。

■FileMakerPro5
□メリット
・画面デザインがしやすい
・検索機能を組まなくて済みます
・集計速度が速いです
・(単体なら)なんでもできそう、と思えます
□デメリット
・ODBC経由での処理が遅くて使えません
・大規模になると作った人にしか構造が理解できません
・OSが落ちると確実に壊れます(たいていは修復できますが…)

■Access2000
□メリット
・Excelとの連携が楽です
・FileMakerでは複雑な処理が、クエリ一発でできたりします。
・固定長テキストを処理できます(めったにありませんが…)。
□デメリット
・フォームのデザインがやりにくいです
・検索機能などいろいろ組む必要があります
・FileMakerに比べ制限が多いです(レポートのオブジェクト数とか…)

という感じでしょうか。
両方とも最大ファイルサイズは2GBですが、
リレーション、リンクをはれますので実質制限はありません。
あとは好みの問題だと思います。

ということで、使い勝手の良さからFileMakerをおすすめします。
    • good
    • 4

 Access暦6年目です。

ファイルメーカーに関しては全然わかりませんので、Accessに関してだけ。

 まず何を作りたいかによると思います。個人レベルで蔵書管理だとか名刺管理、住所録などを作るのでしたらAccessのマクロやVBAを使用しなくても十分出来ます。テーブルで項目だけ作ってデータ入力用のフォームや印刷用のレポートなどはウィザードで作成できますので。私の担当しているユーザーでも何人か独学で名刺管理をつくった方もいらっしゃいます。

 htokitaさんがおっしゃっているとおり、メジャーっていうのはメリットではないでしょうか。本屋のパソコンコーナーに行くとAccessだけで数十種類の書籍が出ていますし、ネットでもメーリングリストや掲示板がいくつもあります。私が使い始めた頃は書籍も2種類くらいしかなく、頼りにもならなかったので掲示板で他の人にアドバイスしてもらったりして、独学で使ってきましたが、いい時代になったものです。

 VBAを駆使すれば、大規模なのは難しいですがC/Sシステムでクライアントが10数台程度までの企業の基幹業務システムも構築できます。
 Access単体の機能では、ファイル共有で問題がありますので、C/Sのシステムは危険ですが、Access2000からAccess本体のデータベース以外にSQL Serverライクなデータベースも添付していますので小規模なC/Sシステムでしたら十分機能できます。
    • good
    • 1

簡単に比較すると、



●ファイルメーカー
・あまり複雑なことが出来ない(割と単純)。
・データの管理・集計・抽出・印刷ができる。
・ファイルメーカー自体は小さい(アクセス比)。
・マイナーである。

●アクセス
・複雑なことが出来る反面、それなりの知識が必要。
・データ処理の機能はほとんど出来る。
 (大きなシステムも構築可能)
・アクセス自体は大きい(ファイルメーカー比)。
・メジャーである。

というところでしょうか。
個人的に使用するならファイルメーカーで充分かもしれません。仕事(就職)等に役立てたいなら、アクセスでしょうか?

ファイルメーカーは評価版がダウンロードできます。試してみたらいかがでしょうか?

htokitaでした。

参考URL:http://www.filemaker.co.jp/downloads/index.html
    • good
    • 3

 バージョンによって微妙に双方違いがあります。


 最新版での比較は、殆ど無意味で、使い方に依存して向き不向きがあるだけです。

 何をやりたいかによって、購入する方を選択する事をお薦めします。

以下は個人的な感想(あまりあてにならないかなぁ)
アクセスは、
 単体では殆ど何も出来ません。ある程度のアプリケーションの構築を目的とした物です。又は、他のOFFICE製品と組み合わせる事で、威力を発揮します。アクセスでデータを管理して、excelでグラフや集計をして印刷を行ったりする場合に便利です。

ファイルメーカは、
 (偏見かもしれませんが)データベースソフトではないと思います。単純なカード型のデータを保管するには便利ですが、大規模なデータを保持するのには向きませんし、結構手間がかかります。また、他のアプリケーションからの使用が考えられていないので、出来ない事が有る時に逃げ道がないので結構困ります。しかし、個人の情報(住所録や名刺管理)を行う場合には、結構簡単に作れるので、そういった用途には向くかもしれません。
    • good
    • 5

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

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

Qファイルメーカー(FileMaker)の関数を使って入力を制限

例えばファイルメーカーPro(FileMaker Pro 7.0v3)でメールアドレスのテキストフィールドを作成する場合。
入力できるテキストを40字(半角小文字a~z、半角0~9、半角アッ
トマーク、半角ピリオド、半角ハイフン、半角アンダースコア)のみに制限する方法はありますか?

※メールアドレスはあくまでも一例です。

Aベストアンサー

ウチは5.5なんですが、

グローバルフィールド「AllowChar」を繰り返し40で作成。中身は許
可する文字を列記したもの

計算フィールド「AllowCharCount」を繰り返し40で作成。計算式は
PatternCount(Extend(アドレス), AllowChar)

「アドレス」の制限を計算して求める
Length(アドレス) =Sum(AllowCharCount)

これでオッケーでした。

Qアクセスデータベースエンジンの再インストール

マイクロソフトのアクセス データベース エンジン 2010 を間違って、アンインストールしてしまいました。インストールキーがわからないのですが、再インストールする方法を教えてください。
インストールキーがわからなければ、再インストール不可能ならば、新たに、インストールする方法を教えてください。よろしくお願いします。

Aベストアンサー

Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント
http://www.microsoft.com/ja-jp/download/details.aspx?id=13255
でしょうか?
『詳細』や『インストール方法』などをご確認ください。

Qファイルメーカー(FileMaker)のランタイムバージョンのデータ更新について

ファイルメーカー(バージョン不明)で作成されたランタイムバージョンのアプリケーションが手元にあります。

アプリの仕様は、格納されたデータベースの検索プログラムで、データの更新機能は持っていません。

今回プログラムの変更はせずに、データの中身だけ入れ替えたいという要望がありますが、更新機能を持たないランタイムバージョンのファイルのデータのみ入れ替えることは可能でしょうか。

【状況の概要】
・search.exe, search.usr, その他たくさんのdllファイルから構成されています。fp5やfp7などの拡張子を持つファイルは存在しません。
・当方はファイルメーカーは持っていません。(購入が必要な場合、ProではなくAdvancedが必要でしょうか。)
・OSはWindowsXPです。

Advancedエディションがあれば上記の状態でもデータの更新が可能と言うことが分かれば、購入も検討したいと考えています。

どうぞよろしくお願いいたします。

Aベストアンサー

申し訳ありません。曖昧な記憶でいい加減な事を書いてしまいました。
私の回答は無視してください。
下記のページで質問してみてください。
詳しい方がたくさんいらっしゃいます。

参考URL:http://www.kipwmi.com/fmbbs/wwwlng.cgi

QエクセルVBAでアクセスデータベースを抽出して読み込む方法

エクセルVBAでアクセスデータベースを抽出して読み込む方法

アクセスで見積の提出情報のデータベースを作成しています。
このデータベースをエクセルのフォームで日付指定し抽出したいと考えております。

データベースの全てを読み込む事には成功したのですが、
いざフォームを作成し日付を入力。
実行したのですが、日付の構文エラーとなってしまいました。
抽出条件を表すSQLステートメントがおかしいのかもしれません。
どこを訂正したらよいのでしょうか?

Private Sub CommandButton1_Click()
 Dim rcs As ADODB.Recordset
 Dim cnStr As String, sqlStr As String
 Dim sday As Date

 sday = TextBox1.Text

'一覧のクリア、始点へ移動
 Range("A5:N300").Select
 Selection.ClearContents
 Range("A5").Select
'データベースの保存場所
 cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Accexl\見積予定.mdb"
'検索条件
 sqlStr = " SELECT * FROM 予定表 WHERE 作成日 = # sday #"
'データベースの読込、コピー、閉じる
 Set rcs = New ADODB.Recordset
 rcs.Open Source:=sqlStr, ActiveConnection:=cnStr, CursorType:=adOpenStatic

 ActiveCell.CopyFromRecordset rcs

 rcs.Close

 Set rcs = Nothing

  Range("C:C,E:E").Select
  Selection.NumberFormatLocal = "h:mm;@"
  Range("B:B,D:D").Select
  Selection.NumberFormatLocal = "m/d;@"

 Range("A3").Activate

End Sub

フォームの中にテキストボックス(日付を入力)、コマンドボタン(検索実行)を配置しています。
テキストボックスには日付表示するようにしています。

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim ret As Long
  ret = 0
  If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then
    With TextBox1
      .Text = Replace(.Text, "/", "")
      If IsNumeric(.Text) Then
       If IsDate(Format(.Text, "0000""/""00""/""00")) Then
        .Text = Format(.Text, "0000""/""00""/""00")
        Else
         ret = 1
        End If
      Else
       ret = 1
      End If
     If ret = 1 Then
      MsgBox "日付指定です"
      KeyCode = 0
    End If
    End With
   End If
End Sub

エクセルVBAでアクセスデータベースを抽出して読み込む方法

アクセスで見積の提出情報のデータベースを作成しています。
このデータベースをエクセルのフォームで日付指定し抽出したいと考えております。

データベースの全てを読み込む事には成功したのですが、
いざフォームを作成し日付を入力。
実行したのですが、日付の構文エラーとなってしまいました。
抽出条件を表すSQLステートメントがおかしいのかもしれません。
どこを訂正したらよいのでしょうか?

Private Sub CommandButton1_Click()
 Dim rcs A...続きを読む

Aベストアンサー

以下でどうですか。

sqlStr = " SELECT * FROM 予定表 WHERE 作成日 = #" & sday & "#"

Qファイルメーカー(File Maker)の100円以下切り捨ての計算式

お世話になります。ファイルメーカー5.0をマックで使っています。

例えば、
「商品価格×消費税=12541円」
だった場合、12500円(100円以下切り捨て
)という数字に計算結果をしたい場合、どうすれば良いでしょうか?

小数点以下切り捨てという関数があれば、
100分の1に小さくしてから100をかければ良いと思うのですが、小数点以下は表記上表示しないようには出来るのですが、切り捨てる方法がわかりません。

正攻法でも良いですし、後者の方法でも良いので、
100円以下切り捨てる方法を教えていただければ幸いです。

よろしくお願い致します。

Aベストアンサー

int(12541/100)*100でできます。
int(x)はxの整数部分だけを取り出します。つまり今の例でいうと125.41の整数部分ですから125となります。これを100倍すれば12500となります。詳しくはヘルプをみてください。

Qインターネット上のどこかにフリーでアクセスできるデータベースはありませんか?

プログラムのテストを行いたいのですが、インターネット上でフリーで公開されているデータベースはありませんか?
欲しいのはSQL-Server, Oracle等です。

こんな情報で接続できたらと思います。
machine: oracle.database.net
ID: dba
PW: dba
DB: sample

Aベストアンサー

SQL-Serverでしたら、マイクロソフトが120日間限定の評価版を公開していますので、ダウンロードして試してみるのはいかがでしょうか?

参考URL:http://www.microsoft.com/japan/servers/eval/sql.asp

QファイルメーカーPro5.5体験版の入手方法

ファイルメーカーPro5.5体験版の入手方法ってありますか?
今、FileMaker社のHPにはVer6しか体験版がありません。
事情があってVer5.5の体験版が欲しいのですが、
体験版が付録に付いている参考書籍等も、PC量販店等で探したのですが見つかりませんでした。
どなたかご存じの方、よろしくお願いします!

Aベストアンサー

こんばんは。

遅れてすみませんでした。

しかし、Pro5.02の日本語版は、Webで探したのですが、英語版だったと思います。
(現状、再度探すのが困難になってます。トホホ)

一応、ISBNが載っているURLを添付しますので、書店でバックナンバーとして、
注文すれば、購入可能かもしれません。

的確な回答ができなくて、申し訳ありませんでした。

参考URL:http://www.telestar.or.jp/new/dtp0101.html

Q重複するデータのデータベース設計方法について

はじめまして。
データベースの設計で困っています。

例えば、
学生[学生A / 学生B / 学生C]
部活[サッカー / 野球 / テニス]
とデータがあり、学生は部活のどれかに属します。(二重所属可)

これをデータベースで1つのテーブルで表すと、以下のようになると思うのですが、どちらのカラムも重複が発生します。

使用上問題なさそうなのですが、このような設計は良くないですか?

┌-------┬------┐
| 部活 | 学生 |
├-------┼------┤
|サッカー| 学生A |
├-------┼------┤
|サッカー| 学生B |
├-------┼------┤
| 野球 | 学生A |
├-------┼------┤
| テニス | 学生C |
└---------------┘

詳しい方、ご教授下さいますようお願いしますm(_ _)m

Aベストアンサー

>これなら、所属部活(学生番号、部活番号)の学生番号が何度出現しても、部活番号が何度出現しても、問題ないということですよね??

問題ありません。
通常N:Nのリレーションシップの場合は、今回のようにします。
もちろん第3のテーブルの主キーは学生番号+部活番号です。
したがって、学生番号+部活番号の組み合わせは重複できませんので念のため。

QFileMaker Proについて

先日、お客様のPCにFileMaker Proを入れて、
FileMaker Goと連携させて動かしているのですが、
FileMakerのエラーメッセージが表示された、と連絡をいただきました。

エラーメッセージのキャプチャを添付します。

そのエラーメッセージから、

ライセンスキーは、一度に1台のコンピュータで本ソフトウェアのコピー1部の使用が許諾されるエンドユーザライセンスアグリーメントに従うために使用されます。詳細については、ソフトウェアをインストールしたアプリケーションフォルダにある FileMaker Pro または FileMaker Pro Advanced のソフトウェアライセンスを参照し てください。ライセンスキーが無効、または同一のライセンスキーによりインストールされたアプリケーションがネットワーク上の別のコンピュータで実行されている場合、FileMaker Pro アプリケーションによって、次のエラーメッセージが表示されます。 「現在、最大 登録者数でこの FileMaker Pro を使用しています。」

このエラーメッセージが表示された場合、入力されたライセンスキーがすでに使用されていることを示しています。 複数のコンピュータに FileMaker Pro をインストールするには、各ユーザに個別のライセンスキーを使用するか、ボリュームライセンスアグリーメントに基づいてライセンスを取得する必要があります。ユーザ1人に対してFileMaker Pro を1部ずつ購入する必要があります。

という文章をネットで見つけはしたのですが、
お客様のPCでは、その一台しかFileMaker Proをインストールしていません。

原因、対策等、分かる方がいらっしゃいましたら、ご教授ください。

なお、添付ファイルの隠されている文章部分には、
お客様のPC名が入っています。

お客様環境:Win7 64bit FileMaker Pro12 FileMaker Go 12 for iPad です。

先日、お客様のPCにFileMaker Proを入れて、
FileMaker Goと連携させて動かしているのですが、
FileMakerのエラーメッセージが表示された、と連絡をいただきました。

エラーメッセージのキャプチャを添付します。

そのエラーメッセージから、

ライセンスキーは、一度に1台のコンピュータで本ソフトウェアのコピー1部の使用が許諾されるエンドユーザライセンスアグリーメントに従うために使用されます。詳細については、ソフトウェアをインストールしたアプリケーションフォルダにある FileMaker Pro または F...続きを読む

Aベストアンサー

Goは関係無いです。
>そして、やはり一台しかインストールしていないようです。

そのFM12は正規品の購入ですか?
どんな仕組みになっているのか解りませんけどWAN側でも
同一シリアルを感知するのかも。
中古品を購入されたのなら、そんな仕組みだとひっかかりそう。
未登録なら登録してみたらわかるのかな。
どちらにしてもFM社に電話した方がいいのでは?

Q違うフレームのデータを同時にデータベースに登録する方法

いま、私はデータベースを作っています。
サーバーは、SQL2000、JavaScriptとColdFusionを使用しています。
そこで、分からないことがあるのでよろしくお願いします。
それは、INPUT画面上に、2つのフレームを準備して、「登録」ボタンを押すと、右側のフレームと、左側のフレームの両方のデータが同時にDBに登録されるというロジックの考え方を教えてください。
また、入力回数を減らすため、部署名、年度等のデータをDBに登録してもそこに変更を加えない限り値を残す方法はあるのでしょうか?
今の、状態ですと、DBにデータを登録するとINPUT画面のTextの欄がまっさらになってしまい、困っています。
よろしくお願いします。

Aベストアンサー

別フレームの情報をまとめて渡す方法の考え方だけ。

説明の便宜上、登録ボタンのある(つまり form がある)方をA、そうじゃない
方をBと呼ぶことにします。

Aの form には hidden で、Bの方にある入力項目と同じだけ input を
作っておきます。

Aの form の onSubmit で、関数を起動し、Bの入力項目をAの hidden な
input に複写しておいて、submit() をします。

AからBを参照するには parent がひとつ親のフレームを指しますから、
parent.B.document.form1.text1.value なんて感じでアクセスできます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報