-->

【自分で作るGlide】8:計算式とアクションで残りチケット数を管理する−ノーコードで塾の予約管理アプリを作る

2021/07/15

Glide

t f B! P L

自分で作るGlide–塾の予約アプリを作る
(写真AC)


 Glideでノーコードで塾の予約アプリを自作するシリーズ、今回は予約やキャンセルで増減するチケット数の管理について、作業中のテーブル以外のテーブルの値を変更する方法を説明します。

なお、前回はロールアアップ機能についてご説明しましたので、こちらもご覧下さい。

【自分で作るGlide】7:ロールアップ(Rollup)の使い方−ノーコードで塾の予約管理アプリを作る

Glideでノーコードアプリを自作してみるシリーズ。今回は、ロールアップ機能を使ってテーブルのデータの数を数えます。ロールアップを適用した列の、行ごとにデータ数をカウントします。

ユーザーごとのチケット管理

ユーザーのチケット管理は、チケットの購入・予約で残りチケット減少・キャンセルして返金(残りチケット増加)、となります。

チケット数については、Userテーブルの各ユーザー行で管理されます。

予約してチケット残を減少させる

予約時のアクション

まずは予約時に残りチケットを減少させる方法を考えます。予約ボタンを押したときに、予約ユーザーのチケット数を1枚減少させます。

予約ボタンに対応するアクションを追加し、Usersテーブルのチケット数を減少させるのが簡単そうですが、予約ボタンはレッスンテーブルの画面で配置されているので、Usersテーブルを直接変更することができません。


Glideで他のテーブルの値を操作する

そこで、少し手間がかかりますが、レッスンリストにユーザーを記録し、Usersテーブルの関連する行のチケット数を増減させることにします。

予約時に残りチケットを減少させる

まず、レッスンリストに列を追加します。予約作業中のユーザーIDを記録する「現在のユーザー」列と、そのユーザーとUsersテーブルを関連づけるRelation列です。Relationは現在のUserのユーザーIDとUsersテーブルのUser IDを関連づけます。

次に、予約ボタンのアクションを修正します。レッスンリストの行に作業中のユーザーIDを記録します。


Glideでチケット数を管理–ユーザーを関連づけさせる

試しに予約ボタンを押してみます。レッスンテーブルは以下のようになりました。


Glideでチケット数を管理–レッスンとユーザーを紐付け

作業テーブル以外の列の値を変える

次に、Usersテーブルのユーザー行にある、「受講券残高」列の値を減らします。ところで、Incrementアクションは列の値を減らすこともできますが、作業中のテーブル以外のテーブルを操作することはできません。ここでは、作業中のレッスンテーブルからUsersテーブルの値を変えようとしていますので、Incrementアクション以外の方法にする必要があります。

そこで、Usersテーブルに列を追加し、チケットが一枚減った後の残高を計算し、その値をチケット残高にコピーすることにします。まず列を設定します。


Glideでチケットを管理–Math型で計算する



列は計算式用のMath型を設定します。Math型で計算できる演算子は多くはありませんが、四則演算は問題ありません。参照する列は、列の名前をそのまま入れます。

そして、アクションでこの列の値を「受講券残高」列に上書きします。これにより、受講券残高の値が一つ減って更新されます。


Glideでチケットを管理–チケット数を減らすアクションを設定

予約ボタンを押して挙動を確認する

実際に予約ボタンを押して挙動を確認してみました。チケット残高が一枚減少、その隣のチケット減少列も一枚分減少していることがわかります。


Glideでチケット管理–予約でチケット残高が減少したことを確認する


キャンセルの場合はチケット残高を増加する

キャンセル時のアクション

キャンセルボタンを押した時には、予約時とは反対にチケット残高を1枚増やす必要があります。キャンセルボタンのアクションに、ユーザーのチケット残高を1枚増加するアクションを追加します。

キャンセル時の作業テーブルは予約テーブルですので、予約時のアクションと同じように、IncrementアクションではUsersテーブルを操作することはできません。そこで、予約時と同じく、予約テーブルに作業ユーザーの関連列を作り、関連テーブルを操作する形でユーザーのチケット数を増加させます。

予約リストとユーザーリストを関連づける

まず、予約リストに作業中のユーザーを記録する列を作ります。続いて、UsersテーブルのユーザーIDと関連づけるRelation列を予約リストに作ります。

次に、キャンセルボタンのアクションを修正します。

予約ボタンと同じように、まずは現在のテーブルに作業中のユーザーのIDを記録します。


Glideでチケットを管理–キャンセルボタンのアクションを設定

ユーザーテーブルの値を更新する

続いて、ユーザーテーブルの値を更新するアクションを設定します。その前に、Usersテーブルに列を追加し、チケットが一枚増えた時の値を計算させるようにします。

予約ボタンの設定と同じように、Math型の列を作り、各行の「受講券残高」の値を1増加させる計算をさせるようにします。

そして、キャンセルボタンのアクションを追加します。ユーザーテーブルの関連ユーザー行を選択し、受講券残高の値を、設定した数式列の値に更新します。

キャンセルボタンを押して挙動を確認する

これで完成です。実際にキャンセルボタンを押して挙動を確認してみます。ここではテーブルではなく、アプリ画面で動きを確認してみます。チケット残高が、予約を取る前の値に戻っていることが確認できるはずです。


Glideでチケット管理–チケットの増加をアプリ画面で確認する

なお、ボタンを押しても画面上は変化がないので、キャンセルできたかどうかわかりません。お好みで、「Go back」アクションを追加しても良いと思います。これをアクションの最後に追加することで、キャンセルボタンを押して一連の作業が終わると、自動的に前画面に戻るようになります。

チケットの販売と決済

次回は、チケットの販売と決済について、Stripeとの連携方法などをご説明します。


【自分で作るGlide】9:チケットの販売とBuyボタンで決済−ノーコードで塾の予約管理アプリを作る

Glideでノーコードアプリを自作してみるシリーズ。今回は、Stripeとの連携によるGlideでの決済機能についてご説明します。

シリーズ目次

Glideを使ってノーコードでアプリを自作するシリーズ、塾の予約管理アプリを作ってみました。データベースの構築・画面の設計・アクションの設定と、ノーコードでアプリを作成する一通りの作業を確認していきます。シリーズは全10回です。

Glideを使うのは初めてですが、開発時間は、Glideの導入からアプリ完成まで一日2、3時間使って3、4日といったところです。

目次

第1回:Glideの導入
第2回:Glideの編集画面について
第3回:Glideのテーブルの作り方
第4回:タブとコンポーネントの設定方法
第5回:アプリの画面を設計
第6回:アクションの設定
第7回:ロールアップ(Rollup)の使い方
第8回:計算式とアクションで残りチケット数を管理する
第9回:チケットの販売とBuyボタンで決済
第10回:アプリを公開する

個別編

リレーション(Relation)について
GlideとZapierを連携する−GlideアプリでZoomミーティングを作る

週末に作るGlideストップウォッチ編

週末時間でできる、簡単ノーコードアプリ開発。Glideのストップウォッチ機能を使って、目的別に整理できるストップウォッチアプリを開発します。

第1回:テーマを設定できるストップウォッチアプリのコンセプト設定とGlideへのログイン
第2回:計測「テーマ」のテーブルと画面の設定
第3回:ストップウォッチコンポーネント設定とテンプレート型を使った経過時間の表示
第4回:グラフで測定結果の見える化とWebアプリのリリース


このブログを検索

最新記事はこちら

【Glideで簡単アプリ作成】ノーコードでかんたんカウンターアプリを作る

 ノーコードアプリの作成は簡単、というけれど実際に作るとアプリ画面の設定やテーブルの定義、イベントの設定など案外手間がかかったりするものです。ここでは、ノーコードツールのGlideを使って、簡単なアプリを簡単に作ってみます。 一日にやってみた回数をカウントするアプリを作る ここで...

ラベル

自己紹介

数学苦手な文系が、そろそろネットで何かやってみるか、という程度。のんびり、てきとーに。