絞り込み条件を変更する
検索条件を絞り込む

すべてのカテゴリ

21 件中 1 - 21 件表示
カバー画像

【Access備忘録】こんなSQLはじめて♡

以下でAccess内の全テーブル名を取得できます。SELECT MSysObjects.Type, MSysObjects.Name, MSysObjects.Flags FROM MSysObjects ORDER BY MSysObjects.Type, MSysObjects.Name;DAOは使いたくないのでよかった~。これでAccess内の全レコードを検索できます。日々是勉強です。
0
カバー画像

【ACCESS SQL】目に見えないクエリを想像することで、抽出可能なデータ

YouTubeでも紹介しています。是非ご覧ください。データベースは、VBAではなく、いかにデータを抽出するかです。 目に見えない、架空のクエリを想像できれば、さらに、データ抽出が楽になります。 目に見えないクエリを想像することで、抽出可能なデータ こんにちは。伊川です。 前回は、SQL文の基礎中の基礎を紹介しました。 また、前回紹介した書籍のChapter3で、LIMIT句というのが登場します。 結論から言いますと、ACCESSでは、LIMIT句は、利用できません。 なので、LIMIT句の代替のコードを利用します。 少し面倒な作業が増えます。 もちろん、このような複雑なことをしなくても、今回のサンプルでは、データ抽出ができます。 しかし、この面倒な作業を、覚えることで、複雑なデータ抽出ができるようになります。 VBAよりも、ずっと面白い内容です。 このブログはこんな人にお勧め ACCESSでクエリを勉強している人 クエリのスキルに限界を感じている人 SQLを勉強している人 このブログを、読み終わるころには・・・・ 初めて、競馬で、データ抽出で、壁に当たった内容でした。 デザインビューを見ても到底、その時の私には、理解できない内容でした。 しかし、目に見えないクエリが、どのように作動しているのかを、このブログで理解できるようになります。 上位2つのレコードを抽出したい この、テーブルから、上位2つのレコードを抽出します。 つまり、伊川直助、伊川直子を、抽出します。 このような状態にします。普通は、これで完了です。 もちろん、これでも正解ですが、架空のクエリを作成して、抽出をしま
0
カバー画像

【ACCESS クエリ】クエリは、SQL文で記載すると面白くなる?

YouTubeでも紹介しています。是非ご覧ください。どんなに、優れたデータベースを、作成しても、欲しいデータを抽出できなければ意味がありません。 この、データ抽出は、データベースを操作するに場合に、必須の知識となります。 クエリは、SQL文で記載すると面白くなる? こんにちは。伊川です。 クエリを制するのみは、データベースを制する。 最近は、すっかりSQLに、ハマっています。 SQLの基本書には、必ず、MySQLを、パソコンにインストールして、開発環境を整えるところから始まります。 ただ、MySQLを、インストールしなくても、ACCESSを利用して、手軽に勉強できます。 今回紹介する書籍は、非常に変わりやすく記載されています。 私も、SQLを基礎から勉強しようと思い、購入しました。 この書籍の良いところは、サブクエリ、相関クエリ等、 ACCESSの基本書では、記載されていないことが、記載されています。 1つのテーブルから、クエリを複数作成してもいいですが、メンテナンスが大変です。 短いSQLを、サクサクっと記載して、万能なデータベースを作成しましょう。 このブログはこんな人にお勧めACCESSで、クエリを勉強している人 SQLの勉強をしている人 サブクエリ等、複雑なクエリを作成したい人 このブログを、読み終わるころには・・・・今回は、SQLの基礎中の基礎です。 しかし、この基礎に関しては、SQLの文法を学ぶに当たり非常に重要なことです。 この基礎を勉強して、複雑な抽出条件を記載できるようになりましょう。 ACCESSを利用して、SQLの勉強をするACCESSには、クエリを作成す
0
カバー画像

SQLite データベースを Django でどう使うか?

SQLite データベースを Django でどう使うか?Django で標準設定のデータベースとして利用されている SQLite ですが、実際にシステムとして稼働する場合には置き換える場合が多くなっています。何故でしょうか?この記事では、SQLite について簡単にまとめてみました。 SQLite データベース最初に、SQLite データベースについて簡単にまとめておきます。 プログラム開発、特に Web 系の開発で SQL データベースは利用する機会も多いですし、よく耳にする名前です。 その名の通りデータベースの一種ですが、「SQL(Structured Query Language)」を使ってアクセスするデータベースです。SQL は一種のプログラミング言語のようなものですが、データベースとデータをやり取りする際に使われます。データを追加、更新、削除を行うための記述ですが、かなり複雑なデータの扱い方もできます。代表的な SQL データベースには、MySQL、PostgreSQL、Microsoft SQL Server、そして今回取り上げている SQLite などが挙げられます。その中で、SQLite はその名の通り、「軽量」のデータベースとして Django などでも標準設定になっています。Django で標準設定になっていますが、多くの Django アプリをインターネットに公開して実際に稼働させる際には別の SQL データベースに置き換えることが多いのは以前の記事で紹介した通りです。何故 Django で標準設定になっているか?公開する際には置き換えることが多いのに何
0
カバー画像

Access学習メモ 0-4. AIに真似できない素晴らしさ

ココナラを訪れ、初めて取り組んだのが売上管理システム。【設問】売上日の入力後に売上番号(11桁の番号)を自動表示(編集不可)させなさい売上番号の付番ルール:日々の売上データを001から昇順3桁にて売上日 yyyymmdd に付加 例)売上日 2017年5月13日 当日1件目の売上 の場合 20170513001 売上日 2017年5月13日 当日3件目の売上 の場合 20170513003売上日 2017年5月15日 当日1件目の売上 の場合 20170515001 開発で忙しそうな出品者の手を煩わせたくなくて、生成AIに助けを求めるようになった。主に企業相手の商売だからか、Access関連サービスは価格設定が強気。比較的安価なサービスでも分厚めの参考書と同等のお値段°˖☆◝(⁰▿⁰)◜☆˖°ともあれ、生成AIが考案したコードはきちんと動くし、スッキリまとまっていて、何も問題なしと思われた。そんな中、ほかのココナラ出品者によって開発されたコードの品質が生成AIのコーディングとは異なることに気づいたので、記録しておきたいと考えた。※動画内コードは出品者から得た知識にて自分なりに練習を重ね実装した内容生成AIおよび人間による開発の違い実装結果を比較しながら、自分なりに検証してみた1. 実用向けか否か生成AI:Like演算子を使い、文字列としての売上番号から日付を逆算するため、入力された文字列が日付か否かに関係なく形成実行出品者:WHERE 売上日 = #日付# と、正規の日付項目で入力候補を絞り込み、日付型に該当しない入力をブロック2. 長期利用に耐えうるか生成AI:売上番号のデー
0
カバー画像

Access学習メモ 1-9. Nullってなあに

クエリを通してテーブルを学ぶ...選択クエリ作成問題で登場する式・発注数量 = 最大在庫数(計)ー(出庫数(計)-入庫数(計))Accessの集計関数で表現すると、こうなるらしい。発注数量: [最大在庫数] - ( Nz(Sum([出庫数]),0) - Nz(Sum([入庫数]),0) )” Nz(Sum([]),0)”とは?トランザクションテーブルに対象レコードが1件も見当たらない場合、Sum() は合計値を出せず“結果なし(Null)”になる。その Null が式に混ざると計算結果を出せなくなるため、Null を0(ゼロ)に置き換える保険として Nz(Sum([ ]),0) が使われる。” Nz(Sum([]),0)”が最大在庫数には不要な理由商品マスタの「最大在庫数」は1商品につき1行だけ存在する固定値であり、設計上Nullになる恐れはない。データインポート用のExcelにも数字がしっかり入っており、Nz()不要。1商品につきデータ1件の構成なので、集計Sum() も必要ない。” Nz(Sum([]),0)”が必要なのはトランザクションテーブル上の「入庫数/出庫数」だけSum([出庫数]) :出庫数の合計Sum([入庫数]) :入庫数の合計Sum()は「対象レコードが1件もない」場合にNullを返す(計算できる材料が揃わないことにより算定結果を出せないと判断する)働きがある。対象レコードが 1 件以上 → 合計値(数値)を認める対象レコードが 0 件 → Nullを認める例:「商品マスタ」のある商品に対し、入出庫トラン上の入庫が1回も無い → Sum([入庫数]) = N
0
カバー画像

【ACCESS SQL】サイバイマンを減らすクエリ

YouTubeでも紹介しています。是非ご覧ください。SQLをSQLビューから作成を始めると、今までのクエリが無駄に思えてきます。 エイリアスとjoinを利用して、クエリを作成します。サイバイマンを減らすクエリ こんにちは。伊川です。 前回は、エイリアスについて解説しました。 しかし、実行するクエリに関しては、3つあります。 この3つのクエリを1発で実行する方法を紹介します。 単純に、INNER JOINと、エイリアスを利用します。 JOINに関しては、下記の記事で紹介しています。 相変わらずですが、競馬ネタであることをご了承ください。 このブログはこんな人にお勧め ACCESSを勉強している人 クエリを勉強している人 ACCESSにクエリが沢山ある人 このブログを、読み終わるころには・・・・ 複数のクエリを作成すると、メンテナンスが困難になります。 SQLを、直で編集するスキルがあれば、複数のクエリを作成することなく、 1つのクエリで実行することができます。 1発のクエリで実行する Q_買い目1というもを作成するのに、 Q_指数買い目順位2 Q_指数買い目順位5 上記の2つのクエリが必要となります。 当然、1発で実行できるなら、2つのクエリは不要になるわけです。 この、Q_指数買い目順位2、Q_指数買い目順位5は、MT_数値追加から、派生したものです。 MT_数値追加から、派生したクエリ(サイバイマン)ならば、1発で実行できます。 1発のクエリで実行する 作業手順 その1 見出しの考え方 SELECT ~ FROM~ WHERE~ この形が基本です。 SELECT ここには、ク
0
カバー画像

データーベースのデバッグツール <WinSQL>

 何種類かのデータベースを扱う技術者にとって、専用ツールを使用したクエリテストは避けられないものです。  私がストレスを感じるのは、データベースエンジンごとに、ユーザーインターフェースの使い勝手が全然違って、「ただクエリをテストしたいだけ」なのに、クエリに集中できないことです。 そこで私が愛用しているツールが「WinSQL」です。   www.synametrics.com/SynametricsWebApp/Download.do?ProgName=WinSQL これは様々な種類のデータベースに対して、一つの共通したインターフェースからクエリを発行することが出来るツールです。 これを使用すると、データベースにアクセスするプログラムを開発する、一般的な手順の中で(1) 画面設計/作成(2) DB接続※場合により、トランザクション処理を開始。(3) SELECTクエリでテーブルデータを読込み。(4) (3)項の結果に応じて、INSERT, UPDATE, DELETEなどのクエリを発行。(5) SELECTクエリで、データの不整合がないか確認。※場合により、トランザクション処理を終了。といった流れの (3)(4)項を 効率的に進めることができます。非常におすすめのツールです。
0
カバー画像

Access学習メモ 2-7. クエリデザインが開けないとき

クエリを設計したあとテーブルの構成を変更したとき、クエリを編集したくてもデザインビューに切り替えられないことがある。シンプルなクエリであればSQLビューで直接、式を編集してみるしかない。例:「書籍マスタ」に外部キーとして「利用者マスタ」の「キャラID」が含まれ、相応の選択クエリを組んだ後、その構成が不要となり「書籍マスタ」から「キャラID」を削除したケース【修正前】SELECT 書籍マスタ.書籍ID, 書籍マスタ.書名, 書籍マスタ.[キャラID ], 利用者マスタ.[キャラ名]FROM 書籍マスタ LEFT JOIN 利用者マスタ ON 書籍マスタ.[キャラID ] = 利用者マスタ.[キャラID];【修正】SELECT 書籍マスタ.書籍ID, 書籍マスタ.書名FROM 書籍マスタ;他オブジェと結合後のテーブルを編集する際は、クエリの関係フィールドを整理してから。フォームやレポートは後出しの編集も可能だけど、クエリは全体が機能しなくなるから気を付けないといけない。今回、貸出入力簿の作成にあたり、数値のみである書籍IDのデータ型を意図的に「短いテキスト」としている。当初の設定は数値型だったが、書籍マスタ&貸出トランのリレーションの際、プロパティシートの規定値を0にしていても、フォーム読み込み時にAccessがマスタキーを0埋めし、勝手にレコードに0が書き込まれ+データ不整合によりAccessが落ちる現象が起きてしまい、かなりの時間をムダにした。データ型を「短いテキスト」にすると症状は治まった。これまで例題を解いていて、数値しかないフィールドにテキスト型が使われていて不思議だった
0
カバー画像

ROW_NUMBER()で「ユーザーごとの最新データ」を取得した話(実務SQL)

SQLで「ユーザーごとの最新データだけ取得したい」という場面があり、当初は `MAX(update_date)` を使って取得しようとしていました。ただ実際の要件としては、> 「最新日付の“行そのもの”を取得したい」というもので、単純なMAX集約では対応できず、少し悩んだポイントでした。最終的に採用した方法最終的には、`ROW_NUMBER()` を使って対応しました。SELECT *FROM (    SELECT         user_id,        update_date,        ROW_NUMBER() OVER (            PARTITION BY user_id            ORDER BY update_date DESC        ) AS rn    FROM your_table)WHERE rn = 1 ポイントこの書き方にすることで、以下が実現できます。* ユーザーごとの最新1件を取得* 重複データの整理* ランキング的な抽出* 柔軟な並び替え条件の指定実務でよく使う場面実際の業務では、以下のようなケースでよく使います。* 最新履歴の取得* 重複データの除外* ステータスごとの最新情報取得* ランキング・順位付け処理特に「最新1件だけ欲しい」という要件は意外と多く、この書き方を知っているかどうかでSQLの設計がかなり変わる印象があります。MAX()との違いで詰まりやすいポイント最初に `MAX(update_date)` で考えると、* 最新日付は取れるが行全体が取れない* JOINが必要になる* 複雑
0
カバー画像

Accessの本当の凄さとは何か

Accessで介護支援記録システムを作った理由-11 これまで長い間、介護支援記録を管理するデータベースシステムをAccessを使い開発することとした経緯等について語ってきましたが、このシリーズの最後として、別の視点から見たAccessの凄さにについて触れたいと思います。 Accessのアプリケーションとしての性格は、現状、小規模かつローカルな環境下で、高度なリレーショナルデータベースシステム(RDBMS)を開発し運用するためのソフトとして定義づけられると思います。 長年にわたりバージョンアップを重ねてきた結果、動作も安定しており、データベースを動かすスピードも高速です。しかも一ライセンス当たりの価格が安く、無料のランタイムも使えるなど、他のデータベースソフトよりもコスパの良さは抜きん出ています。 しかし、Excelに比べるととっつきにくく、マクロやVBAを使ったアプリの開発も初心者にとってハードルが高いため、様々な職場で広く普及することは妨げられてきたように思います。 視点を変えてみると、これは実に「勿体ない」の一言です。 企業が自らのオープン系システムの中に、情報通信会社に頼んでRDBMSを構築しようとする場合には、データベースを操作する言語としてSQLが一般的に使われています。 SQLは優れた言語で、RDBMS開発に欠かせないものであり、様々な仕様を持つデータベースの殆どがSQLに対応しています。 しかし、SQLはデータベースに対してしか命令できない言語のため、C言語など他のプログラミング言語の中に組み込んでシステム全体を開発しなければなりません。当然ながら、このような作
0
カバー画像

VB.NET (.VB) ポスグレに接続 SQL 実行

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load  '*********************************************************************  ' Form1 を Load した時のイベント 押した処理  '*********************************************************************         ' ポスグレ接続         Dim Con As NpgsqlConnection = Nothing         ' クラス ClassDB から 接続文字列を取得 (接続文字列を入れればOK)         Con = New NpgsqlConnection(ClassDB.ConString)         Con.Open()         ' コマンド         Dim Cmd As NpgsqlCommand = New NpgsqlCommand("select id, name, ranking,group_name from countries;", Con) ' SQL の結果を格納する         Dim rs As NpgsqlDataReader ' SQL 実行         rs = Cmd.ExecuteReader         rs.Read()         txthyouji.Text = rs
0
カバー画像

Django で利用する SQL データベースの管理

Django で利用する SQL データベースの管理以前の投稿で、Django は標準でアプリの管理機能をサポートしているという事を紹介しました。この記事では、もう少し詳しく管理機能について紹介しています。データベースの管理や参照バックエンドを含めた Web サービスや Web アプリを開発する場合、データベースを利用するケースは多いと思います。Firebase を利用する場合は、Firebase コンソールを使うとデータベースの状態を簡単に参照できるので便利です。Django の場合は、SQL データベースを利用します。PHP で SQL のデータベースを管理する場合は、「phpmyadmin」が有名です。特に WordPress を利用する場合、データベースを直接管理する場合には便利なアプリです。phpmyadimin 自体は SQL データベースの管理なので、Django を利用する場合でも利用は可能ですが、別に Web サーバーを動かす必要もありますし、既に設定をされていない場合にはちょっと不便です。Django が標準でサポートしているデータベースは「SQLite」になります。このデータベースを利用する場合は、既に紹介している「SQLiteBrowser」を使えば必要な機能は揃っています。あとは、SQL データベースが提供するコマンドラインベースのアクセスを利用すれば、大抵のデータベースは直接アクセスが可能です。しかし、コマンドラインなので、慣れないと使いづらいのと、毎回コマンドをタイプしないといけないので面倒です。Django の管理アプリDjango は、フレーム
0
カバー画像

その手作業、まだ続けますか?——エンジニアが自作プログラムで事務作業を“消した”話

「誰かが毎日やっている」という違和感どの職場にも、当たり前のように存在している「毎日のルーティン作業」があります。「各拠点から送られてくる数字を集計する」「決まった形式のレポートを毎朝作成してメールする」一回あたりは5〜10分程度の作業かもしれません。しかし、それが365日積み重なり、仮に複数の担当者が行っているとしたら、それは年間でどれほどの損失になるでしょうか。私はかつて、こうした「人間がやらなくてもいい苦労」を技術で消し去ることに没頭していました。「現場の痛み」をコードに変える私が社内SEとして現場を支えていた頃、大切にしていたのは最新のIT用語を並べることではなく、目の前の担当者の「手が止まっている時間」をなくすことでした。例えば、毎日の帳票作成。以前は、データベースから手動でデータを抽出し、Excelに貼り付け、加工して、ようやく関係者に送信していました。「これ、自動でできるんじゃないか?」そう思い、PythonやSQLを独学し、VBAと組み合わせて独自のプログラムを組みました。結果、ボタン一つ……いや、ボタンすら押さなくても、決まった時間にシステムが勝手にデータを集計し、整理されたレポートが関係者のメールボックスに届く仕組みが出来上がりました。「自動化」の本当の価値は、時間の節約だけではない事務作業が自動化されると、職場には二つの大きな変化が起きます。「ミス」というストレスからの解放人間が手作業で行う以上、コピー&ペーストのミスや入力漏れはゼロにはできません。プログラムによる自動化は、精度を100%に引き上げます。「考える仕事」に集中できる単純作業に追われていた担当
0
カバー画像

Django で利用するデータベース

Django で利用するデータベースDjango のフレームワークを利用して Web 開発をする場合は、SQL のデータベースを使うことになります。 SQL のデータベースは Firebase のデータベースとはちょっと違います。正確な言い方をすれば、Firebase のデータベースは広く活用されている、SQL などのリレーショナルデータベース(RDB)とは違うと言うことです。これまで、Firebase を中心にお届けしてきたので、その違いについてまとめて見ました。  Django は SQL データベースが基本Django で利用するデータベースは SQL データベースが基本です。標準では、SQLite を利用する設定になっています。SQLite を利用する場合は、特別な設定は必要ありません。そのまま、データベースの機能が利用可能です。その他にもメジャーな SQL のデータベースを利用可能です。Django の公式ページのドキュメントを見ると、公式にサポートされているデータベースは:* PostgreSQL* MariaDB* MySQL* Oracle* SQLite です。この他に身もサードパーティがサポートしているデータベースに* CockroachDB* FIrebird* Microsoft SQL Server  などがあります。利用するデータベースは、プロジェクトフォルダにある、settings.py で指定すれば利用可能です。標準設定では以下のようになっていますが、これを書き換えます。DATABASES = {    'default': {        '
0
カバー画像

Access学習メモ 3-1. カッコつけないでください

学習メモ2-1.の再現ウィザード機能でフォームを設計する際、フィールド名にカッコ()が用いられていると処理が中断してしまう。エイリアスにてカッコなしの名称に置き換えると直ちにウィザードが機能する様子を伺うに、カッコが原因。
0
カバー画像

集計

合計SUM(列)行数 COUNT(*)  NULLを無視 COUNT(列)
0
カバー画像

処理の順序

WHERE と HAVING ①WHERE で行を絞り込む ②グループ化して集計③HAVING で行を絞り込むJOIN ON ①左テーブル をSELECT ②ON で結合する行を 右テーブル から探す
0
カバー画像

Django とテーブル一覧の表示

Django とテーブル一覧の表示Django で SQL のデータベースのテーブルは「models.py」に Python のクラスを作ることで簡単に定義できました。実際のアプリケーションでは、テーブルにデータを保存して、そのデータの処理が必要です。この記事では、簡単なデータベースのテーブルのアクセスについてまとめてみました。テーブルのエントリーの名前は?Django では、アプリのフォルダーの「models.py」に Python のクラスを作成して、そのクラスを「admin.py」に登録(register)すると、管理用アプリからアクセスできるようになります。例えば、「Customer」というクラスを作成します。class Customer(models.Model):    name = models.CharField(max_length=50, help_text="The name of a customer.")  これを、「admin.py」に登録するとfrom django.contrib import adminfrom srd7.models import Customer# Register your models here.admin.site.register(Customer)「127.0.0.1:8000/admin」にアクセスして、作成したスーパーユーザー(管理用のユーザー)でログインすると、このテーブルのデータの一覧の表示やデータの追加、修正、削除ができるようになります。実際に顧客(カスタマ)を追加してみます。「add」をクリックして顧客
0
カバー画像

【PythonのORM】SQLAlchemyの基本的な使い方!

# はじめにSQLAlchemy とは、Python で使用できる ORM です。Python コミュニティにおける最も使用されている ORM ライブラリの一つとなっているので、使用する機会も多いかと思います。そんな SQLAlchemy の基本的な使い方をまとめてみました。まずは、ここから基本的な操作を学び、応用的なものについては、随時調べながら実装すると良いかと思います。# 使い方## インストール```$ pip install sqlalchemy```## モデルの作成以下のようにモデルを定義することで実行のタイミングでテーブルが生成されます。```pythonengine = sqlalchemy.create_engine('sqlite:///db.sqlite3', echo=True)Base = declarative_base()class Account(Base):__tablename__ = 'account'email = Column(String, primary_key=True)password = Column(String)Base.metadata.create_all(bind=engine)```## 基本操作### Insertデータを追加する際は、まず、session を生成します。その後、作成したモデルにデータを入力し、session に対して追加します。追加したデータを commit でデータベースへ反映して、session を閉じます。```pythondb_session = sessionmaker(bind=e
0
カバー画像

SQL

SQLSQL was developed to use relational database. It is standardized by ISO andJIS and is widely used.You can use SQL (Structured Query Language) to create, manipulate, update,and delete tables. SQL consists of DDL (Data Definition Language),DCL (Data Control Language), and DML (Data Manipulation Language).DCL may be included in DDL.■Define a tableThe table has a two-dimensional structure consisting of rows and columns.It stores the actual data. There can be multiple tables, but the table namesmust be different.(To identify the table)For example, if you define a "Grade" table consisting of "Student_Number","Name", "Language", "Math", and "Class", SQL is as bellows.CREATE TABLE Grade(Student_N
0
21 件中 1 - 21