When a link is clicked, a value is retrieved from the table and displayed on a Webform field
Rather do this:

Alter the button link to include a parameter:

&lt;a href="./lettable-room-booking?captured=true"&gt;Yes&lt;/a&gt;


In hook_form_alter, check for the parameter and set the default value(s):

function test_presave_form_alter(&amp;$form, &amp;$form_state, $form_id) {
    // dpm($form_id); // uncomment to get $form_id
    // dpm($form); // uncomment to get $form
    if ($form_id == 'webform_client_form_2') { // use dpm($form_id) to get your form id
        $param = drupal_get_query_parameters();
        if (isset($param['captured']) &amp;&amp; $param['captured'] == "true")
        {
            $result = ...
            if ($result) {
                $form['submitted']['room']['#default_value'] = $result; // use dpm($form) to get your room field
            }
        }
    }
}