Google Form การสร้างฟอร์ม ไม่ให้คนเดิมกรอกข้อมูลซ้ำ

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 พ.ย. 2024

ความคิดเห็น • 81

  • @KruApiwat
    @KruApiwat  3 ปีที่แล้ว +21

    var sheetId = "xxxx"
    var formId = "xxxx"
    function myFunction() {
    var ss = SpreadsheetApp.openById(sheetId)
    var sheet = ss.getSheetByName("การตอบแบบฟอร์ม 1")
    var form = FormApp.openById(formId)
    var data = [...new Set(sheet.getDataRange().getDisplayValues().map(row=> row[1]))].join('|')
    var item = form.getItems().filter(item=>item.getTitle() == 'ชื่อ สกุล')[0].asTextItem()
    var pattern = `(${data})`
    var textval = FormApp.createTextValidation().setHelpText("คุณกรอกชื่อซ้ำ!!").requireTextDoesNotMatchPattern(pattern).build()
    item.setValidation(textval)
    }

    • @sawasdeeexcise3704
      @sawasdeeexcise3704 3 ปีที่แล้ว +4

      ลองทำตามแล้ว ไม่มีการเช็คซ้ำให้เลยค่ะ บันทึกได้ปกติ

    • @tkjrarm
      @tkjrarm 3 ปีที่แล้ว +3

      อ.ครับ แล้วค่าที่เราต้องการการกรอกซ้ำเราสร้างให้อยู่อีกคอลัมน์หรือไปอีกส่วนหนึ่งในฟอร์ม แล้วในวงเล็บเราต้องใส่เลขอะไร....ซึ่งตามคลิปที่ อ.สร้างมันอยู่ตรงข้อแถวแรกเลยคือ index 0 /
      แบบนี้เราจะรู้ได้ยังไงว่าค่าที่เราสร้างขึ้น..มันไปอยู่อีกแถว-อีกส่วน เราจะใส่ค่า index อะไร-นับยังไงครับ

    • @50340277
      @50340277 2 ปีที่แล้ว

      @@sawasdeeexcise3704 เป็นเหมือนกันครับ

    • @khamonsa
      @khamonsa 2 ปีที่แล้ว +1

      @@tkjrarm ได้วิธี ดู index หริอยังครับ

    • @100811110417
      @100811110417 2 ปีที่แล้ว

      @@khamonsa สอบถามครับ ดู index ยังไงครับ

  • @SuwajVipattipumiprathet
    @SuwajVipattipumiprathet 9 หลายเดือนก่อน

    ขอบคุณครับ มีเทคนิค แบบนี้ด้วย นึกไม่ถึงจริง ๆ ครับ

  • @Sombat11
    @Sombat11 20 วันที่ผ่านมา

    ผมจะทำฟร์อมที่ละ ระบุจุด
    หลายหลายฟอร์มแต่ให้เซฟลงเลย โฟลเดอร์เดียวกันทำได้ไหมครับ

  • @doxman26
    @doxman26 ปีที่แล้ว

    ขอบคุณครับอาจารย์ ทำได้แล้วครับ

  • @สาครขันตี-ว1ฌ
    @สาครขันตี-ว1ฌ 3 ปีที่แล้ว +1

    สุดยอดครับ เข้าใจง่าย

  • @ssathip2
    @ssathip2 3 ปีที่แล้ว +2

    ขอบคุณครับอาจารย์ ได้ทดลองนำไปใช้กับการป้องกันกรอกเลขประจำตัวซ้ำโดยให้ลำดับแรกใส่เลขประจำตัวก่อน ปรากฏว่าในกรณีที่เด็กต้องเข้ามาแก้ไขข้อมูลส่วนอื่น ไม่สามารถทำได้เพราะระบบแจ้งว่าเลขประจำตัวซ้ำ ถ้าต้องการให้เด็กแก้ไขข้อมูลที่เคยกรอกไว้ได้ต้องทำอย่างไรครับ

    • @sunisamukem
      @sunisamukem 3 ปีที่แล้ว

      มีกำหนดให้ตรวจสอบรูปแบบเลขประจำตัวด้วยมั้ยคะ

    • @suparachsuwattanaphim8567
      @suparachsuwattanaphim8567 2 ปีที่แล้ว

      @@sunisamukem สามารถแก้ไชโดยคลิกข้อมูลในคำถามนั้น บริเวณ 3 จุดด้านขวามือล่าง แล้วเลือก validation response จากนั้นเลือกได้ว่าจะกำหนดต้องอะไรเข้าไป ทั้ง contain, match, not match etc.... ครับ ส่วนคำสั่งแต่ละอัน ลองศึกษาเพิ่มเติมนะครับ

  • @ddtchannel2791
    @ddtchannel2791 ปีที่แล้ว

    ขอบคุณครับ เสียดายสมัยเรียนไม่มียูทูป อ.ไม่สินละเอียดแบบนี้ 🥺

  • @いちしろ13
    @いちしろ13 4 หลายเดือนก่อน

    ผมจะทำ 2 index ต้องทำอย่างไงครับ ผมจะให้เช็คทั้งชื่ออันนึง แระไอดีอันนึงครับ

  • @moozqd4719
    @moozqd4719 3 ปีที่แล้ว +2

    สอบถามครับ ถ้าในกรณีที่ต้องใช้รหัสเดิมมีการลงทะเบียนผ่าน google form ทุกวัน จะให้วันถัดไป มีการเริ่มใหม่ ต้องเพิ่ม Scrip แบบใหนเพิ่มครับ

  • @kannikakld.1882
    @kannikakld.1882 ปีที่แล้ว

    อาจาร์ย ตอนนี้ทำไม่ได้แล้วค่ะ มีตัวอัพเดตมั๊ยค่ะ

  • @thaneesudchai6709
    @thaneesudchai6709 ปีที่แล้ว

    อาจารย์ครับ ผมสามารถ เช็กหลายๆ ชุดข้อมูล ในฟอร์มเดียวได้มั้ยครับ แบบว่า ชื่อห้ามซ้ำ เมล์ห้ามซ้ำ เบอร์โทรห้ามซ้ำ อะไรแบบนี้อ่าครับจารย์

  • @pongdanaipoungyod274
    @pongdanaipoungyod274 2 ปีที่แล้ว

    ขอคำแนะนำ โค๊ดเขียนโค๊ดป้องกันการกรอกข้อมูลผ่าน google form ที่เป็นวันที่ ไม่ให้เกินวันที่ปัจจุบันหน่อยครับ

  • @ชนนท์จัดนอก
    @ชนนท์จัดนอก ปีที่แล้ว

    แล้วถ้าต้องการให้ตัวเลือกที่เลือกไปแล้วไม่ถูกเลือกซ้ำจนกว่ารายการนั้นจะถูกเอามาคืน จะต้องทำอย่างไรค่ะ เปรียบเหมือนการยืมของที่มีชิ้นเดียวค่ะ

  • @PiyachatWankaew
    @PiyachatWankaew 3 ปีที่แล้ว

    ขอบคุณมากครับ ช่วยได้มากเลย

  • @Trakarnkiat01
    @Trakarnkiat01 3 ปีที่แล้ว

    ขอบคุณมากๆนะครับ คุณครู

  • @Palang_din
    @Palang_din 2 ปีที่แล้ว

    ขอสอบถามว่า ถ้าเราต้องการใช้สูตร ตาม อ. ทั้งเช็คข้อมูลคนกรอกซ้ำ และ จำกัดจำนวนคน จะเพิ่มสูตรอย่างไรคับ

  • @poonyawitsuwannarat9815
    @poonyawitsuwannarat9815 2 ปีที่แล้ว +1

    อาจารย์ครับมีตัวอย่างการสร้างฟอร์มโดยที่ผู้กรอกข้อมูล สามารถเพิ่มช่องข้อมูลขึ้นมาได้ไหมครับ ยกตัวอย่างเช่น ผมต้องรายชื่อโรงเรียน โดยให้สำนักงานเขตพื้นที่การศึกษาที่รับผิดชอบ สำรวจรายชื่อ โดยสามารถเพิ่มช่องกรอกข้อมูลได้ไม่จำกัดอ่ะครับ ขอบคุณครับ

  • @notnotty8213
    @notnotty8213 2 ปีที่แล้ว

    ขอบคุณมากครับ

  • @12890.edt.
    @12890.edt. 3 ปีที่แล้ว

    อ.ครับ ผมกดส่งคำตอบเเล้วมันเด้งมาหน้า เเรก เเล้วผมก็กดที่บัญชี ถึงส่งได้ อยากรุ้ว่าคำตอบจะไปถึงคนสร้างกูเกิลฟอมมั้ย

  • @รักได้เมื่อพร้อมและรักตลอดไป

    กรณีต้องการเช็คแต่ละช่วง ซึ่งมีหลายหน้า ได้ไหมครับ

  • @udomjanpithak9749
    @udomjanpithak9749 2 ปีที่แล้ว

    สวัสดีครับ ท่านอาจารย์ ถ้าจะคัดลอกโค้กของอาจารย์ ไปวางได้มั้ยครับ ถ้าได้ จอโค้ดได้มั้ยครับวิธีนี้ดีครับผู้คตอบไม่ค้องลงขื่อเจ้าใช้ครับ
    การลงชื่อเข้าใช้ยาก ทำให้ผู้ตอบไม่อยากตอบคำถาม ครับ ขอบพระคุณมาก ครับ ผมจะออกแบบ ให้สมาขิกเบือกคั้งกรรมการ ครับ จำเป็นต้องป้องกันการกรอกซ้ำครับ ขอบคุณพระคุณครับ

    • @KruApiwat
      @KruApiwat  2 ปีที่แล้ว

      โค้ดอยู่คอมเม้นต์ใต้คลิปสอนครับ

  • @ธัชนนท์ต๊ะต้องใจ

    อยากทราบว่าถ้าต้องการ เพิ่มให้ใส่ได้เฉพาะแค่ ตัวเลข และจำกัดแค่ 13 ตัวทำยังไงครับ

  • @panqwinmomo
    @panqwinmomo 3 ปีที่แล้ว +1

    ถ้าตัวที่จะเช็คเป็นรหัสนักเรียน ค่าที่จะให้พิมพ์จะเป็นตัวเลข 6 ตัวน่ะค่ะ ในส่วนของโค้ดต้องแก้ตรงไหนไหมคะอาจารย์

  • @toempongt590
    @toempongt590 3 ปีที่แล้ว +2

    Script ที่ทำไว้แล้ว สามารถเรียกกลับมาใช้ใน ฟอร์ม อื่นได้ไหมครับ ถ้าเป็นฟอร์มลงทะเบียนในลักษณะเดียวกัน แต่แบ่งเป็นรุ่นๆ อย่างเช่น ใบลงทะเบียน แต่ต้องแก้ตรงชื่อ Id ของ Sheet กับ Formsให้ถูกต้อง แล้วต้องสร้างโครงการเป็นชื่อใหม่ และกด ทริคเกอร์ใหม่ ในแต่ละอันแยกๆ กันไป เข้าใจแบบนี้ถูกต้องไหมครับ

    • @KruApiwat
      @KruApiwat  3 ปีที่แล้ว

      ใช่ครับ

    • @toempongt590
      @toempongt590 3 ปีที่แล้ว

      @@KruApiwat ขอบคุณมากครับ มีประโยชน์มากเลยครับ

  • @onyadee
    @onyadee 3 ปีที่แล้ว

    ถ้าเกิดอยากให้มีการเช็ค 2 เงื่อนไข เช่น ชื่อและรหัสพนักงาน สามารถที่จะพิมพ์คำสั่งเหมือนบรรทัด 9 แต่เปลี่ยนเป็น รหัสพนักงาน ได้ไหมค่ะ

  • @NiRUN_JaowNOi
    @NiRUN_JaowNOi 3 ปีที่แล้ว

    ขอบคุณครับผม อาจารย์ครับ

  • @UthornSomsri
    @UthornSomsri 3 ปีที่แล้ว

    อาจารย์ครับ
    มีตัวอย่างที่ไม่ให้กรอกรหัสพนักงานผิดไหมครับ
    โดยมีdata baseของรหัสในชีต

  • @wichai2530
    @wichai2530 3 ปีที่แล้ว

    ขออนุญาตสอบถามครับ
    ถ้าผมต้องการเช็คซ้ำมากกว่า 1 ข้อมูล เช่น “ชื่อ” “นามสกุล” วันเดือนปีเกิด” ผมต้องเพิ่มโค้ดยังไงเหรอครับ

  • @ล้านกาแฟอันดา
    @ล้านกาแฟอันดา 2 ปีที่แล้ว

    ครูค่ะ มีวิธีทำแบบแค่คลิ๊กเข้าก็ กรอกข้อมมูลส่วนตัวเราอัตโนมัติไหมค่ะ (แค่กดส่งอย่างเดียว)

    • @KruApiwat
      @KruApiwat  2 ปีที่แล้ว

      ไม่มีครับ

    • @PersonalNara
      @PersonalNara 9 หลายเดือนก่อน

      ใช้เพื่อนกรอกครับ ชี้ที่เดียว อิอิ

  • @hrssh1225
    @hrssh1225 2 ปีที่แล้ว

    กรณีอยากให้ตรวจสอบมากกว่า 1 ค่าต้องเขียน Code เพิ่มยังไงคะ

  • @chalearmchaimee7711
    @chalearmchaimee7711 3 ปีที่แล้ว +1

    อาจารย์ครับ ถ้าจะกำหนดให้เขากรอกข้อมูลได้ไม่เกินคนละ 2 ครั้ง ต้องแก้โค๊ตส่วนไหนครับ ขอบพระคุณล่วงหน้าครับ

    • @yamayama1723
      @yamayama1723 4 หลายเดือนก่อน

      ขออนุญาตค่ะ สามารถทำได้ไหมคะ

  • @TongTouTube
    @TongTouTube 3 ปีที่แล้ว

    สามเงื่อนไขทำอย่างไรครับคือสามารถส่งฟอร์มได้ทุกวันจันทร์ถึงศุกร์เท่านั้นส่วนวันเสาร์-อาทิตย์ บันทึกได้ 2 ครัง

  • @MsSakulsukprasertk
    @MsSakulsukprasertk 3 ปีที่แล้ว +2

    ลองทำตามแล้ว ไม่มีการเช็คซ้ำให้เลยอ่ะค่ะ

  • @Tawan-Appsheet
    @Tawan-Appsheet 3 ปีที่แล้ว

    ขอวิธีกด แบล็กติก หน่อยครับ กดยังไงก็ไม่ได้ แถมไม่รู้ว่าสัญลักษณ์เป็นแบบไหนด้วย

    • @adisak2514
      @adisak2514 3 ปีที่แล้ว +1

      กด Alt ค้างไว้ กด 9 ค้างไว้แล้ว กด 6 (ตรงแป้นที่เป็นตัวเลขทางขวามือ) --> var pattern = `(${data})`

  • @burinsaengthong291
    @burinsaengthong291 3 ปีที่แล้ว

    ถ้าเป็นตัวเลขทำยังไงเหรอครับ

  • @abcdmark454
    @abcdmark454 9 หลายเดือนก่อน

    อ.ครับ ทำตามสคริปท์แล้ว ยังสามารถกรอกชื่อเดิมได้ ต้องทำยังไงครับ ขอบคุณครับ

    • @KruApiwat
      @KruApiwat  9 หลายเดือนก่อน +1

      อันนี้ไม่ทราบเหมือนกันครับ

    • @abcdmark454
      @abcdmark454 9 หลายเดือนก่อน

      ได้แล้วครับ อ. ขอบคุณครับ@@KruApiwat

  • @อนุชาชาญวุฒินันท์
    @อนุชาชาญวุฒินันท์ 11 หลายเดือนก่อน

    ถ้าแยกชื่อ กับนามสกุล จะต้องแก้คำสั่งอย่างไรเพื่อเช็คซ้ำครับ

  • @kuakulsangnoi4296
    @kuakulsangnoi4296 3 ปีที่แล้ว

    ถ้าเราจะเอาบรรทัดล่างไว้ แล้วลบบรรทัดบนออก ในกรณีที่ผู้กรอกข้อมูลครั้งแรกกรอกข้อมูลผิดและเข้ามากรอกครั้งที่สองเพื่อแก้ไข. เราจะใช้คำสั่งสคริปอย่างไรดีครับอาจารย์

    • @KruApiwat
      @KruApiwat  3 ปีที่แล้ว +1

      เราจะรู้ได้อย่างไรครับว่า เขากรอกครั้งที่ 1 หรือครั้งที่ 2 ผิด

    • @kuakulsangnoi4296
      @kuakulsangnoi4296 3 ปีที่แล้ว

      ก่อนกรอกข้อมูลจะแจ้งกับผู้กรอกไว้ก่อนหน่ะครับอาจารย์. ว่าถ้ากรอกข้อมูลผิดมา หรือต้องการแก้ไขข้อมูลเพิ่มเติม สามารถกรอกใหม่ได้โดยจะใช้ข้อมูลล่าสุดเป็นคำตอบ. ประมาณนี้ครับอาจารย์

  • @กิติพงษ์สัพโส
    @กิติพงษ์สัพโส 3 ปีที่แล้ว +1

    มันขึ้น Error แบบนี้ครับ TypeError: Cannot read property 'asTextItem' of undefined
    myFunction แก้ยังไงครับ

    • @กิติพงษ์สัพโส
      @กิติพงษ์สัพโส 3 ปีที่แล้ว +1

      ลองดูใหม่แล้วครับมันได้เฉพาะที่เป็น index[0] นอกนั้นมันไม่ได้ครับ

    • @suparachsuwattanaphim8567
      @suparachsuwattanaphim8567 2 ปีที่แล้ว

      ลองใส่ 0 ก็ไม่ผ่านครับ

  • @jt1321
    @jt1321 3 ปีที่แล้ว

    กด Alt 5 6 แล้วแต่ไม่มีเครื่องหมายแบบท่านขึ้นค่ะ

    • @patcharapanjatturat3971
      @patcharapanjatturat3971 3 ปีที่แล้ว

      Alt 96

    • @KruApiwat
      @KruApiwat  3 ปีที่แล้ว +1

      @@patcharapanjatturat3971 copy ตัวนี้ไปวางก็ได้ครับ `

  • @ledphongpornponmahalarp8616
    @ledphongpornponmahalarp8616 3 ปีที่แล้ว +2

    ควรจะตรวจสอบจากเลขบัตรประชาชน นะครับเพราะชื่อคนเราซ้ำกันได้ครับอาจารย์

    • @KruApiwat
      @KruApiwat  3 ปีที่แล้ว +2

      อันนั้นเรื่องของคนเอาไปประยุกต์ใช้ต่อครับ ผมทำตัวอย่างแนวคิดให้ดูเฉยๆครับ 555

    • @fatherOfTwins2
      @fatherOfTwins2 3 ปีที่แล้ว

      ผมก็เอามาประยุกต์ให้กรอกรหัสประจำตัวนักเรียน ขอบคุณ อ มากครับ

  • @prolinemyshop2861
    @prolinemyshop2861 3 ปีที่แล้ว

    เป็นคลิปสอนที่มีประโยชน์มากๆเลยครับ ขอทราบแหล่งที่มาของข้อมูลหน่อยได้ไหมครับ

    • @KruApiwat
      @KruApiwat  3 ปีที่แล้ว

      เครดิตที่มาท้ายคลิปไงครับ

  • @Sayuchin278
    @Sayuchin278 2 ปีที่แล้ว

    วิธีให้อีเมลกรอกได้ครั้งเดียว ทำยังไงคะ?

    • @KruApiwat
      @KruApiwat  2 ปีที่แล้ว

      อันนี้ไม่ทราบเหมือนกันครับ

    • @Sayuchin278
      @Sayuchin278 2 ปีที่แล้ว

      @@KruApiwat ขอบคุณมากค่ะ

  • @wizkilable
    @wizkilable ปีที่แล้ว

    ทำไมแหล่งกิจกรรมผม ไม่มี "จากฟอร์ม"

  • @สวยมาก-ณ1จ
    @สวยมาก-ณ1จ 2 ปีที่แล้ว +1

    อย่ามาสอนผมไม่รู้เรื่องครับ

  • @NoxMaxOne9888
    @NoxMaxOne9888 ปีที่แล้ว +1

    สำหรับใครที่ไม่ได้ลองดูครับ
    ar sheetId = "xxxxxx";
    var formId = "xxxxxx";
    function myFunction() {
    var ss = SpreadsheetApp.openById(sheetId);
    var sheet = ss.getSheetByName("การตอบแบบฟอร์ม 1");
    var form = FormApp.openById(formId);
    var data = [...new Set(sheet.getDataRange().getDisplayValues().map(row => row[1]))].join('|');
    var item = form.getItems(FormApp.ItemType.TEXT)[0].asTextItem(); // Assuming the item is a text item
    var pattern = `(${data})`;
    var textval = FormApp.createTextValidation().setHelpText("คุณกรอกรหัสซ้ำ!!").requireTextDoesNotMatchPattern(pattern).build();
    item.setValidation(textval);
    }

  • @โรงเรียนวัดปางมะกล้วยต.ป่าแป๋อ

    Syntax error: SyntaxError: Unexpected token '.' line: 9 file: Code.gs จะแก้ไงครับ

  • @spyarmchannel7172
    @spyarmchannel7172 2 ปีที่แล้ว +1

    ขอบคุณมากครับ