質問するログイン新規登録

質問編集履歴

2

詳細な内容を追記しました。

2018/08/03 05:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,15 +1,19 @@
1
- スプレッドシートをデータベースとして利用しWEBアプリケーションを作っているのですが、検索時に下記のような処理(データベースのスプレッドシートからquery関数を利用し、別のスプレッドシートに一時的に表示し、取得する処理)で結果を取得しているのですが、
2
- まれに結果が10件あるのに、1件か取得できな場合があります。
1
+ スプレッドシートをデータベースとて利用しWEBアプリケーションを作っています。
3
2
 
3
+ データを保持しているスプレッドシートをWEBアプリケーションからキーワード検索(部分一致)を行なって検索結果をHTMLに表示すると言う処理を作りました。
4
+ しかし、検索時に下記のような処理(データベースのスプレッドシートからquery関数を利用し、別のスプレッドシートに一時的に表示し、取得する処理)で結果を取得しているのですが、まれに対象件数が10件あるのに、1件しか取得できない場合があります。
5
+
4
6
  原因としては、複数人が同時に使用した場合、結果を一時的に表示するスプレッドシートに何枚もシートを作成され、全てのシートがimpoertrange関数を使用しているため、結果取得に時間がかかってしまっていると思います。
5
7
 
6
8
  私の勉強不足で、スピレッドシートをデータベースとして使用す場合の検索の仕方がこの方法か、for~ if~を使用し、1件ずつ確認する方法しか思いつかないのですが、何か別の方法はありますでしょうか?
7
9
  よろしくお願いします。
8
10
 
11
+ 記載しているコードは、検索の部分のみ抜粋しています。
12
+
9
13
  ```JavaScript
10
14
 
11
15
  function getdata(sql){
12
- //例:sql => "SELECT * WHERE Col2 > '0'"
16
+ //例:sql => "SELECT * WHERE Col2 LIKE '%xxx%'"
13
17
 
14
18
  //query関数を貼り付けるスプレッドシート
15
19
  var query_sheet = SpreadsheetApp.openById("[query関数を貼り付けるシートID]");

1

GASを使用し、WEBアプリケーションを作っていることを追記しました。

2018/08/03 05:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- スプレッドシートをデータベースとして利用し、検索時に下記のような処理(データベースのスプレッドシートからquery関数を利用し、別のスプレッドシートに一時的に表示し、取得する処理)で結果を取得しているのですが、
1
+ スプレッドシートをデータベースとして利用しWEBアプリケーションを作っているのですが、検索時に下記のような処理(データベースのスプレッドシートからquery関数を利用し、別のスプレッドシートに一時的に表示し、取得する処理)で結果を取得しているのですが、
2
2
  まれに結果が10件あるのに、1件しか取得できない場合があります。
3
3
 
4
4
  原因としては、複数人が同時に使用した場合、結果を一時的に表示するスプレッドシートに何枚もシートを作成され、全てのシートがimpoertrange関数を使用しているため、結果取得に時間がかかってしまっていると思います。