Sub OpenFormAndWait()
' Open the form in dialog mode
DoCmd.OpenForm "YourFormName", WindowMode:=acDialog
' Code here will execute after the form is closed
MsgBox "The form has been closed. Continuing with the code..."
End Sub
from copilot help
Keep document that easy to find
Sub OpenFormAndWait()
' Open the form in dialog mode
DoCmd.OpenForm "YourFormName", WindowMode:=acDialog
' Code here will execute after the form is closed
MsgBox "The form has been closed. Continuing with the code..."
End Sub
VBA
Sub SendJsonData()
On Error GoTo ErrorHandler
' Create an object for ServerXMLHTTP
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
' Define the URL where the data will be sent
Dim url As String
url = "https://192.168.0.88/xampp/API/P1.php" ' Modify the URL accordingly
' Create the JSON Payload
Dim jsonData As String
Set ws = ThisWorkbook.Sheets("Sheet1")
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'jsonData = "{""name"":""John"",""value"":30}"
For i = 2 To lastRow
jsonData = "{""name"":""" & ws.Cells(i, 1).Value & """, ""value"":""" & ws.Cells(i, 2).Value & """}"
If i < lastRow Then
jsonData = jsonData & ","
End If
Next i
' Set the Method and open the connection
xmlhttp.Open "POST", url, False
' Bypass SSL Certificates validation (for self-signed certificates only)
xmlhttp.setOption 2, 13056 ' Ignore SSL certificate errors
' Set HTTP Header to indicate that the data is JSON
xmlhttp.setRequestHeader "Content-Type", "application/json"
' Send the JSON data
xmlhttp.send jsonData
' Check the status of the request
If xmlhttp.Status = 200 Then
MsgBox "Data sent successfully: " & xmlhttp.responseText
Else
MsgBox "Error: " & xmlhttp.Status & " - " & xmlhttp.statusText
End If
' Close the connection
Set xmlhttp = Nothing
Exit Sub
ErrorHandler:
MsgBox "Error occurred: " & Err.Description
End Sub
PHP
<?php
// ตั้งค่า Header เพื่อระบุว่าคำตอบเป็น JSON และอนุญาตการเชื่อมต่อ CORS (ถ้าจำเป็น)
header("Content-Type: application/json");
header("Access-Control-Allow-Origin: *");
// ข้อมูลการเชื่อมต่อฐานข้อมูล MySQL
$servername = "192.168.0.88"; // หรือ IP ของเซิร์ฟเวอร์ฐานข้อมูล
$username = "prapop"; // ชื่อผู้ใช้ MySQL (เปลี่ยนตามจริง)
$password = ""; // รหัสผ่านของ MySQL (เปลี่ยนตามจริง)
$dbname = "test"; // ชื่อฐานข้อมูล
// สร้างการเชื่อมต่อฐานข้อมูล
$conn = new mysqli($servername, $username, $password, $dbname);
// ตรวจสอบการเชื่อมต่อ
if ($conn->connect_error) {
die(json_encode([
'status' => 'error',
'message' => 'Connection failed: ' . $conn->connect_error
]));
}
// ตรวจสอบว่าคำขอเป็น POST หรือไม่
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// รับข้อมูล JSON ที่ส่งมา
$json = file_get_contents('php://input');
// แปลง JSON ให้เป็น Array หรือ Object
$data = json_decode($json, true);
// ตรวจสอบว่าการแปลงสำเร็จหรือไม่
if ($data === null) {
// กรณีที่ข้อมูล JSON ไม่ถูกต้อง
echo json_encode([
'status' => 'error',
'message' => 'Invalid JSON'
]);
} else {
// เข้าถึงข้อมูลที่ส่งมา
$name = $data['name'];
$value = $data['value'];
// เตรียมคำสั่ง SQL สำหรับบันทึกข้อมูล
// ตรวจสอบว่า prepare สำเร็จหรือไม่
$stmt = $conn->prepare("INSERT INTO T1 (name, value) VALUES (?, ?)");
if ($stmt === false) {
die(json_encode([
'status' => 'error',
'message' => 'Prepare failed: ' . $conn->error
]));
}
$stmt->bind_param("si", $name, $value); // ผูกตัวแปรเพื่อป้องกัน SQL Injection
// ตรวจสอบการบันทึกข้อมูล
if ($stmt->execute()) {
// สำเร็จ
echo json_encode([
'status' => 'success',
'message' => 'Data inserted successfully',
'name' => $name,
'value' => $value
]);
} else {
// เกิดข้อผิดพลาด
echo json_encode([
'status' => 'error',
'message' => 'Error inserting data: ' . $stmt->error
]);
}
// ปิด statement
$stmt->close();
}
} else {
// กรณีที่ไม่ใช่คำขอแบบ POST
echo json_encode([
'status' => 'error',
'message' => 'Only POST requests are allowed'
]);
}
// ปิดการเชื่อมต่อฐานข้อมูล
$conn->close();
?>
MYSQL
CREATE TABLE T1 (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
value VARCHAR(255) NOT NULL
);