お問合わせやサポート依頼はこちらからどうぞ
メールフォーム

2021年06月28日

富士通ノートでHDグラフィックス4600ドライバ絡みで落ちまくる件

久々にめんどくさいトラブルに当たった…

対策

:とりまデバイスマネージャでHD Graphics 4600 を無効にする

写真 2021-06-27 14.09.57.jpg



概要

富士通のノートPCで、「パソコンが開かなくなって回復、という表示が出てくるようになった」ということで相談が舞い込んできた


写真 2021-06-28 11.00.54.jpg

Lifebook AH77/R (FMVA77RBG)

 i7-4712HQ

 W10 2004 64bit


元々Windows8.1のモデルで、10に上書きアップデートしてはる



症状

とにかく落ちまくる、まともに起動しない

・メーカーロゴが出てすぐ落ちる

・ログイン画面までたどり着いてもログイン中に落ちる

・運良くログインできてもすぐ落ちる

・よしんば設定とか開いて確認してる最中に落ちる、長くて1、2分しか持たない


いずれもブルースクリーンさえ出ずに落ちる

とりあえず高速スタートアップ切ってやりたいのにセーフモードではいじれなく、通常モードで起きてる間に切れないどんなクソ仕様なのこれ


写真 2021-06-24 11.44.52.jpg

セーフモードで立ち上げると落ちずに動く

UbuntuLive USBや外付けのUbuntuから立ち上げても大丈夫、Youtube4Kとか見て負荷かけても落ちない


内蔵ディスク取り替えてW10新規インストール(2004だったかな)でも落ちない

メモリテストは1回しか回さなかったけど問題なし




クリーンブートでは落ちる

msconfigms以外のモヂュール全部オフにしても落ちる

スタートアップ全部止めても落ちる




回復画面のメニューはどれもダメ

・スタートアップ修復 →出来ませんでした

・更新のアンインストール →出来ませんでした

・復元 →出来ませんでした

相変わらず清々しいくらい役に立たないな

最終手段は初期化メニューでファイルを残して初期化、それもダメなら再インストールなのだがお客さんのPCだとどのアプリどう使ってるか、入れ直しができるかなど不明瞭なことが多いしなるたけやりたくないんだよ…。


写真 2021-06-24 11.48.17.jpg



セーフモードで

DISM →最初なんぼか修復かかってたかも知れないが変わらず

sfc →最初なんぼか修復かかってた気がするが変わらず

chkdsk →結構時間かかってたので修復かかってたかも知れないが変わらず

この辺も一度たりとも役だったことないねぇ…


・富士通独自のプログラムが色々更新溜まってたのでアップデートしてやろうと思ったが、セーフモードではWindowsのインストーラーが動かず半分くらいのものがアップデートできねぇ

(もちろん通常モードでは、やってる最中に落ちちゃってほぼ完遂できず)

どうなのよこのザルシステム


・21H2の更新案内が来てアップデートアシスタントが出来てるので、上書きアップデートしたら解消できないかと思ったが、セーフモードからじゃ途中でアップデートできませんとか言われる

 通常モードでは絶対アプデ中に落ちるのでやりたくないっちゅーの




イベントログのエラー見るといわゆるKP41で落ちてるようなのだが、

・F-Link

FreeMakeUtilsService

SearchApp.exe

あたりが多量にエラー吐いてたのでF-LinkやFreeMakeはアプリ削除、SearchAppのエラーでWindowsが落ちる、と言うブログ記事見つけたのでなんとか止める方法探ってたんだがいつの間にか何でかエラー出なくなった

しかし落ちる症状は相変わらず





3日がかりであれこれ探ってたどり着いたのが

デバマネでHD Graphic 4600 を無効にすると落ちない


で、富士通のアップデートナビがアップデートせぃ、言うてるのでアプデしてやっても落ちるし

インテルのドライバーユーティリティで最新版見つかったからアプデせぃ、言われてアプデしても落ちる

結局HD 4600のドライバを無効にしてしのぐことに



で、デスクトップに21H1の更新アシスタント出来てたんでこの状態で更新かけてみたら

 16時くらいから始めて1時間くらいで85%くらい、その後21時までかかって100%

 再起動始まるものの更新60%くらい?だったかで電源断

 起動させると「元に戻してますー」と巻き戻しかかる(ノ`□´)ノ⌒┻━┻


多分更新中にHD graphics 4600のドライバ復活して落ちよんねな…


上書きインストールは諦め…

Version 2004のまま、残りのWindowsUpdateや富士通独自のアプデ一通り済ませてお渡し。

富士通アプデがまたいっぺんに全部やると3つ目とかで固まって進まなくなって厄介だった。。。




HD Graphicsドライバーのアップデートに期待…。
あるいは富士通の独自プログラムとなんかコンフリクトしてんのかなぁ…(2004クリーンインストールだと問題でなかったしな)

【PCトラブル対応の最新記事】
posted by わたん at 12:33| Comment(0) | PCトラブル対応

2021年03月21日

LibreOfficeで、データベースを作ってみよう(5)

クエリー(2)


クエリーで計算を組む


前回作った「Q_取引」のクエリーで、入荷額と販売額の計算をさせてみましょう。クエリ計算 1.png
※若干、シリーズの最初で用意したサンプルデータと内容が変わってきています(汗
また適当な時点で新しいサンプルを上げなおします。


エクセルやCalcだと、セルの中に計算式を埋め込んでいましたが、Baseはテーブルやクエリーを普通に開いてのセルの中に「=A2*B2」などと入れても動いてくれません。

クエリーの編集画面で計算式を組み込んでいく形になっていて、ちょっと勝手が違います。
最初はわっかんなかったですねぇ。

せっかくエクセルやCalcの関数を覚えてもそれがそのまま生かせないので、なんかもったいない感じがしてしまいます。

ここらへんはもともとデータベースのソフトで使われている「SQL文」というのがそのまま使えるようになっていて、同じLibreOfficeの中でも流れが違うというか違う分野の流れをくむものとなっているということなのでしょう。


それが、Baseを微妙な立ち位置の妙にとっつき難いソフトにしてる面もあるように感じます。

普段本格的なデータベース触ってる人が、SQL文をそのまま使える簡便なソフト、インターフェースや作りはアクセスをマネといたんでアクセス使ってた人ならわかるでしょ、といった感じで、初心者がエクセルやCalcからのステップアップに使いやすいわかりやすい、という形にはなってないのですよね。




小計のクエリー


というわけでクエリーのペインから「Q_取引」を編集モードで開きましょう。

(右クリで「編集」を選ぶか、選択したあとツールバーの「編集」ボタンから。)


クエリーで計算式を組むには、計算式を入れるフィールドをテーブルに用意しておくは必要ありません。

計算に使うフィールドのみがクエリーに登録されていれば良いです。

計算式の部分は、空いているフィールドに直接計算式を入れます。

クエリ計算.png
前回このクエリーを作った際に、入荷額、数量、販売額のフィールドを登録してあるので、クエリーの空いているフィールドにまず「入荷額*数量」と入れてエンターします。

エクセルなどのようなセル番地でなく、フィールド名を直接用いて式を作ります。

フィールド名を表す「”○”」のようなダブルクォーテーションは自動で付け足してくれます。

ところがややこしい式を作るとき、これごとコピーしてフィールドに貼り付けると「”」の自動補完がうまく認識してくれなくてエラーになることがあります。

貼り付けする場合は「”」を除いた形で式を組み立てておいたほうが良いようです。なんとも中途半端なお助け機能…。


「入荷額*数量」と計算式を入れた下のセル(エイリアスの部分)には、「入荷小計」と入れます。

これが入力/閲覧モードで普通に開いたときの見出しになります。(入れないと見出しの部分に「入荷額*数量」と出る。)



ところでこの小計に更に税額をかけたいとき、エイリアス名を使って「販売小計*課税対象」と式を作れたらどんだけ便利だろうと思うのですが、実はそれは出来ません…。

「販売額*数量*課税対象」といちいち全部式を入れてやる必要があります。

四捨五入をするには「round(販売額*数量*課税対象,0)」で出来ます。最後の,0がどの桁でくくるかの指定です。
こうした集計をやるときは、書式設定で四捨五入表示すると、表示の見た目と計算結果に食い違いが出てきます。
必ずROUND(繰り上げはROUNDUP、切り捨てはROUNDDOWNで行けたと思います)などを使って、計算の段階で四捨五入した値を作っておくのが鉄則です。

式が長くなって見づらければセル幅を広げてやりましょう。


ところがめんどいのでその式をフィールドから「”」ごとコピーして来て作ると先に述べたようにうまく認識してくれない場合があるという。

このへんもうちょっとなんとかなって欲しいです。




入荷額の計算の隣に販売額の計算式も作っておきましょう。




計算式を設定して、閲覧・入力モードで開いたところです。
base_qry_204.jpg
ついでに、入荷日を二つ並べて、和暦と西暦を併記させてみてます。

でもこれ閉じたら元の設定に戻っちゃう。この設定覚えててくれたらいいのにね。



横幅は見出し部分の仕切り線のドラッグ、または右クリで「列の幅」から設定できます。

中央よせ、右寄せなども右クリの「列の書式」から設定出来るのですが、クエリー画面で設定しても覚えてくれません。


一旦テーブルに戻って、そちらで設定するとクエリーでも反映されます。

何とも残念な仕様ですが、「クエリーを入力画面として使ってんじゃねぇ、見栄えとかレイアウトを使いやすくしたいんならフォームでやれ」って暗に仰っているのかも知れません。。。



折角なので税額を足した、入荷、販売それぞれの合計も出しておきましょうか。

入荷小計税込… 入荷額*数量+ROUND(入荷額*数量*課税対象,0)

販売小計税込… 販売額*数量+ROUND(販売額*数量*課税対象,0)

という式を入れます。

今回は入荷小計の式をコピペ + 入荷額税の式をコピペ、でも動きました。入れ子にならなければくくりの記号ついたままコピペでも大丈夫かな。


次回はクエリーの抽出や合計機能を使って、在庫数や日々の売り上げ/仕入合計を出せるようにしてみたいと思います。


タグ:LibreOffice Base
posted by わたん at 12:56| Comment(289) | Libreoffice

2021年03月08日

LibreOfficeで、データベースを作ってみよう(4)

クエリーの使い方(1)



エクセルやらFilemakerだと馴染みのないものなので、どういうものなのか、どんな時にどう使うものなのか、長いことわかりませんでした。

クエリーという用語の解説は検索すればいくらでも出てくるけど、言葉の定義はちょっとくらい分かったけど、それで?っていう…。


ようやくこの所、クエリーってこんな場面でこう使えるんだ、というのが分かってきたのでこの中で使い方を紹介していこうと思います。



最初の頃は取り敢えずいじってみて、リレーションあれこれ試して2つのテーブルを繋げてみても、思う様に表示されなかったり、どこでどう弄れば思う様な結果が得られるのか分からなかったり、弄ってるうちにすぐ「データが読み込めませんでした」とか出てきて開けなくなったりと、使い方のコツを掴むまではほんと苦労しました。

エクセルやCalcの関数や使い方の知識ってほとんど役に立たないし。


※弄って開けなくなるのは、バグもあったりしたのかも知れない感じ。

 バージョンが5の頃でしたか。



クエリーを弄ってみよう


実のところ、簡単なデータベースならクエリーまで使わなくても、直接テーブルに入力していったりフォームで直接テーブルのフィールドを拾ってきて配置して使うこともできます。

ただテーブルいくつも繋げて使ったり、特定のデータだけ利用したい場合などクエリーで処理する必要が出てきます。



1) フィールド順の並び替え、必要なフィールドのみに取捨選択


クエリーの使い方その一として、テーブルの項目(フィールド)の並び順を並び替える、必要最小限の項目だけ抜き出して利用する、ということが出来ます。


前回で作ったテーブル3つ、テーブルによっては記録項目が沢山あって横一列に表示しきれなかったりしますよね。

またデータの入力に際して、基本ほとんど必要ない項目もあったりして、入力の際に一々飛ばすのが面倒だったり、誤入力の元になったりもします。

クエリーで表示項目や並び順を変えておくと、効率的に利用できます。

ただ、もっと誤入力や入力の揺らぎ(後で検索するのに、送り仮名のあるなしや、スペースの種類とか統一した入力を必要とすることって結構ありますよね)を排して、効率良い入力環境を作るなら、クエリよりも「フォーム」を利用した入力画面を作るのが良いです。


ちなみに最終的に(まだ完成途中ですが)このくらいの数のクエリーになっています。
なんか色々な用途に応じてクエリーがいっぱい出来てきてしまいますね。。。そういうもんなんかしら。



まず、「T_取引」テーブルは後から「バーコード」項目を付け足したりもしたし、入荷と販売という二つの事柄に関する項目を持っているので、項目の並びをまとめて、見た目分かりやすく、入力しやすくまとめ直してみましょう。


今回は左のペイン(枠)内の、「クエリー」というパートを使います。
base_qry_22.jpg


「ウィザードを使用してクエリーを作成」で始めてみましょう。


テーブルまたはクエリーの選択



ウィザードを開くとまずこんな画面です。
base_qry_20.jpg
「T_取引」テーブルを選んで始めましょう。
クエリーには、テーブルの項目だけでなく他のクエリーからもさらに取り込む事ができます。
base_qry_19.jpg
ここからクエリーに拾い出す項目(フィールド)を選びます。


今回は、

日付、金額、手数料、利息、説明、

は使わないかな、と思って外しておきました。
base_qry_18.jpg
表に並ぶ順番は、とりあえずここで最初に決められます。
またこれでクエリーを作った後、クエリーの編集画面でも入れ替えたりまた付け足したりはぶいたりする事が出来ます。

よく考えれば、数量、課税対象あたりは入荷分と販売分とそれぞれに分けてフィールド作っとけば、後の処理が楽だったのかな、という気がしないでもありません…。

行き当たりばったりでデータベース設計するとこのザマです。

まぁおかげで後でクエリーでの抽出の使い方の勉強の例に出来たので、これはこれでいっかな、っと。

(でもあんまり複雑な処理盛り込んでやりたい事を実現するよりも、シンプルな方法の方が後でシステムが複雑になってきた時に見通しが良いのじゃないかな、とは思います。)


次に進みます


並べ替えの指定の画面



ここでどのフィールドを基準に、どの順番で表示するか指定できます。
base_qry_16.jpg
複数設定できるので、例えば入荷日の降順、販売日の降順、商品IDの昇順、と設定すれば、


入荷のデータだけ先にまとめて最新のものから順に並べ、その後に販売日のデータをまとめて近い順に並べる、といったことが出来ます。(さらにその中で日付毎に商品番号の若い順から並ぶ。)


ここはまぁ何もなしで(デフォルトの順番で)良いかと。

あるいはIDの降順(最新のものが一番上)が使い良いのかもしれませんね。



検索条件の指定



ある特定のデータだけに限って絞り込んで表示/利用することもできるようにもなっています。
base_qry_13.jpg
販売分だけ、とか(これはまた後で別にクエリーを作ります)、特定の期間だけ、とか、特定の商品だけ、とか。

何月毎のデータ、という風にクエリーを複数作っとけば、月毎の集計をまとめることが出来ますね。

今回はまぁ、取り敢えず全データの一覧として使えるよう、条件も設定せずに進めます。



クエリーの種類の設定



今回はテーブルから拾ってきたデータを全てそのまま表示させるものですが、そこからの合計や平均を出したり、最小値や最大値を抜き出したり、データの個数を出したりというのも簡単に設定出来できるようになっています。
base_qry_12.jpg

今回は「詳細クエリー」の方で行きます。



エイリアスの割り当て



これも何じゃ?と思いますが、フィールドの項目名を、用途に合わせて別の名前シールを貼って表示することができるようになっているのです。
base_qry_11.jpg

テーブルそのまま表示した時には長すぎて無駄に横幅とってしまうので略語表記にしたいとか、場面などに応じてもうちょっと分かりやすい表記にしたい、とかいった場合などに使えますね。


まここはひとまずそのままで良いと思います。



完了確認画面



クエリーの名前をつけて保存します。
base_qry_10.jpg
テーブルの時と同じ様に、ここは「クエリーですよ」ということが後で利用する時に分かりやすい様に、「Q_〇〇」といった具合に付けていくのが通例のようです。


ここでは「Q_取引」と付けておきましょうか。



そのまま完了すると、作成したクエリーの画面が入力・閲覧モードで開きます。

見た目はテーブルと同じです。

いくつかデータを入れてみるとこんな感じになります。
base_qry_09.jpg
これで入金に関する項目と、出金に関する項目をまとめて、きれいに並べる事が出来ました。
また、テーブルと違ってクエリーでは、これを「編集」で開き直して各項目をドラッグして並び順を入れ替える事が出来ます。
他の「商品マスター」「仕入先」のテーブルも、同じように好きなように順番を並べ替えてクエリーを作ってみて下さい。


日付のところは、「2/1」と入力するだけで「2月1日」の表記になってくれます(テーブルの方でもそうです)。

が、これは実はデータ上は「2021/02/01」と記録されていて2021年という部分が隠れています。

この表記で利用する時は、年が変わってから前年のデータを入れると去年でなく今年の日付で記録されてしまうので気をつけてください。(20/2/1といったふうに年から打つと去年の日付で入力できます。)

何となれば、テーブルの日付フィールドをクエリーに2回登録して、片方は西暦表示、片方は和暦で表示に設定して両方を表示させる、といった使い方も可能です。
(ただ編集画面で表記法を設定できないので、閲覧・入力モードで開くたびにセルの書式設定をいじる必要が有ります…。)


表示形式は書式の設定から選ぶ事ができるので、入力ミスを防止するなら、表示を「21/02/01」なり「2021/02/01」なり「令和○年2月1日」なり、好きなように変えておくといいです。

ただクエリーで表示を変更しても保存されないようで、テーブルを開いて(閲覧/入力モードで良さげ)見出し部分で右クリック、「列の書式」で変更します。
Baseって、ちょっとこうしたところが入り組んでいて、余計にわかりにくいソフトになっています。
CalcやWriterと比べて、まだまだ完成度低いなー、と思わざるを得ません…。
(でもMacでもLinuxでもWindowsでも使えるのはありがたいです。)


ただテーブルでの設定は後々フォームなどに響いてくるようなので、どうしてもクエリーを開いてここで入力や確認作業をする、というのでなければ、取り込んだフォーム上などで表示を変えた方が良いかもしれません。
(それも結局テーブルまで遡って設定しなきゃならない事も多々あるのだけど。)

タグ:LibreOffice Base
posted by わたん at 20:56| Comment(0) | Libreoffice

LibreOfficeで、データベースを作ってみよう(3)

リレーションの作成



リレーションの設定


リレーションとは、いくつか作ったテーブルのデータ同士を、どう関連づけるか、ヒモ付けるか、という事です。

エクセルなどでvlookupとか使ったことがあれば、例えば郵便番号の一覧から、住所に該当する番号を探し出してきて表示させたり、という事をしますよね。そういう2つのリストの関連づけを組み立てる事です。いやなんかテキトーな例えかな。まぁいいや。


とにかく、Baseの画面でメニューバーから「ツール」>「リレーション」と選んで、リレーションの設定画面を開いてみましょう。
base_rltn_12.jpg


リレーション画面へのテーブルの追加

テーブル追加の小窓が出てなければ、「テーブルの追加」ボタンでテーブル一覧を表示させます。
base_rltn_09b.jpg
「テーブルの追加」と出ている中から、関連づけをしたいテーブルを選んで追加します。
base_rltn_08.jpg
(テーブル名をダブルクリックすれば自動で追加されます。)

今回は3つとも追加します。


それぞれのテーブルの枠とか角とかにカーソルを合わせれば広げられます。

テーブルの見出し部分をドラッグすれば移動できます。

が、動かそうとすると外側のウィンドウが勝手にスクロールしてなんかやりづらい…。中々バージョンアップしても改善が見られません。


base_rltn_07.jpg
この3つのテーブルの中で、まずは「商品マスター」と「仕入先」の関係を見てみましょう。

商品マスターのデータ(フィールド項目)」のうち、「供給会社のID」というのは供給会社(仕入先)テーブルのリストと関連する部分です。

図にしてみるとこういう事です。
 リレーション図解.jpg
Baseのリレーション設定画面の中では、どちらかの「供給会社ID」上でマウスを押しっぱなしにして、もう一方のテーブルの「供給会社ID」にドラッグする事でリレーションが張れます。
base_rltn_04.jpg
間違ったリレーションを消すには、線の上で右クリックして「削除」か、線をクリックして選んだ状態で「Delete」キーで消します。(Macだと「fn」+「delete」)


今度は「商品マスター」と「取引」のテーブルを見てみましょう。

取引のテーブルにはいついつ、何の商品を扱ったか、という事で販売日あるいは仕入日と扱った商品のIDが記録されます。
その商品が何番の商品かというのは商品マスターの方で番号を割り振って管理しています。

なので、商品マスターの「製品ID」と取引テーブルの「商品ID」(テーブル作った時にフィールド名を製品IDから書き換えてしまいました)を、ドラッグしてリレーションを張ります。

こうしておけば取引テーブルの方には「何番の商品か」という事だけを記録していけば、商品テーブルにある番号を見て何と言う商品か、そしてその供給会社はどこか、というのが参照できるようになるわけです。
base_rltn_02.jpg

出来上がったリレーションはこんな風になります。

これを保存して閉じます。

※リレーションの設定画面の保存ボタンで保存したり、閉じる際のダイアログで保存しますが、この画面が閉じてテーブル、クエリー、フォームなどのBase画面に戻った時、更にそのウィンドウにある保存ボタンで保存するなどしとかないと、Base書類としては完全に保存されません。
妙な作りですが、テーブル、クエリー、フォーム、レポート、リレーション設定などの各々のウィンドウを保存して閉じた後、親玉のBase書類自体も保存操作が必要な作りになっています。
親玉の保存を行わないでも、変更した内容は他を開いても一応ちゃんと反映はされているようではありますが…。
つくづく、CalcやWriterとは作りが異なっています。


リレーションの詳細設定

ちなみにこのリレーションの線をダブルクリックすると、リレーションの詳細設定画面が開きます。
base_rltn_03.jpg
これは一方のテーブルを更新なり削除した時に、もう一方のテーブルをどうするか、という事を設定します。

・カスケードの削除、にすると


供給会社(仕入先)のリストで例えば3番の会社のレコードを消した

  ↓

商品マスターテーブルにある供給会社3番で登録されている全ての商品データも連動して抹消


となります。

親データを消せば、それに紐づけられた子データもいっぺんに消える、と。
オプションの削除.jpg
例えば、親側でC社と登録されている3番のデータを消して、今度はF社を3番として登録し直した時、前に3番(C社)で登録した商品が今度はF社として間違って出てきてしまう事を防ぐには、この「カスケードの削除」にチェックを入れておくわけです。


しかし子データまで記録から削除されると、取引記録などが消えてしまうと困る場合もあるわけで、そういうデータに対してはカスケードで削除したり更新したりされないよう設定しておかないといけない訳です。


この辺は自分とこの業務の実情によって、どれが良いか決めるべきところだと思うので、ひとまず「何もしない」にしておきます。


カスケード更新のほうは…何がどうなるんだろうね?
なんか公式のヘルプ読んだだけじゃ、単に語句の説明だけで、そう言う「実際どういうことになる」のが分からないんだよね。



・NULLにする

「NULL」って言葉、概念はこの先Baseを使ってるとちょくちょく出てきます。

空っぽ、該当なし、くらいの意味のようです。


親データを消した時、子データも消すのではなく、子データの方は空っぽにして置いておく、というもののようです。

こうするとデータ番号がずれちゃって関連づけがおかしくなっちゃった、ということは避けられそうです。

細かなことまでは確認したことないのでよく分からないけど。気になる人はテキトーに自分でいろいろ試してみてください。



リレーションシップの設定は、ここでは全体についてのリレーションを組むのですが、実はクエリーの編集内でもそのクエリー内でのみ有効な個別のリレーションを設定できるようになっています。

ここではテーブル同志しか設定できませんが、クエリーの編集でのリレーション設定では、クエリーも取り込んで関連付けを行えます。




タグ:LibreOffice Base
posted by わたん at 17:19| Comment(0) | Libreoffice